let과 const와 Var의 차이, 어떻게 쓰면 좋을까?
js에서 변수를 선언할때는 let과 const와 Var를 쓸 수 있다.
이들 중 어떨때 무엇을 사용하면 좋을까?
이는 block scopting에 해답이 있다.
Block scopting
아래 var로 선언한 예시를 보자.
1 | var x = 1 |
var는 block scoping 자체를 갖지 않기 때문에 두번째 x 선언자체가 첫번째 x의 로컬 scope로 가게된다.
따라서 var로 선언한 두 변수는 같은 변수가 되고 가장 마지막에 선언한 값으로 결정된다.
이제 let과 const를 보자.
let과 const는 같은 scoping 룰을 따른다.
1 | const x = 1 |
block 안과 밖을 구분하는 blcok scoping을 따른다.
결론
위의 예시에서 알 수 있듯 let과 const는 예측 가능성이 높고 유지보수성이 var보다 뛰어나다.
따라서,
- const를 기본으로 사용하고 필요한 경우에 let을 사용하자
- var는 절대 쓰지말자.