var, let, const는 뭐가 다를까??
우리가 자바스크립트를 배우면서 많이 들었던 말이다.
"우선 var는 쓰지마!!!"
예전부터 var가 오래되고 좋지않은 코드라 쓰지 않는다고는 들어왔다.
근데 왜 안좋고 왜 새로운 let과 const가 나왔고 어떤 차이가 있는 지
강의에서 다루지 않는 곳이 많다.
이번 포스팅에서는 각 코드의 차이점을 알아보자!
var
우선 var가 도태되고 사용되지 않는 가장 큰 이유를 알아보자.
var는 변수를 선언하고 같은이름으로 재선언이 가능하다.
이는 처음에는 편리하게 느껴지지만 코드,프로젝트의 사이즈가 커지면 커질수록
어디에 어떻게 사용됬는지 알수 없는, 한번의 실수로 큰 낭패를 맛보는 계기가 될 것이다.
var aaa = "hello!" 일때
var aaa = "No i am not hello" 라고 재선언한다면
아무 에러코드도 없어 재선언이 되고 이전에 만든 aaa변수는 초기화 된다.
let과 const를 어느정도 사용해 봤다면 명확하게 단점이 보일것이다.
let 과 const
var의 이러한 단점을 보완하기 위해 es6에서 추가된 것이 바로 let 과 const이다.
우선 둘다 재 선언은 안된다!!!!
하지만 let은 변수의 내용을 변경할수 있다.
let aaa = "hello!" (선언)
aaa = "hello World" (재할당)
이런식으로 변수의 값을 재할당 할 수 있다.
그럼 const는 무엇일까?
const는 상수라고 불리는데 변하지 않는 값이라는 뜻이다.
let과 다른점으론 재할당이 되지않는다.
const bbb = "hello" (선언)
bbb = "helloWorld!" (재할당) XXXX
그냥 let과 const를 쓰자