let과 var는 모두 변수를 정의하지만 조금 차이가 있으며
var는 예전부터 사용하다가, var에 대한 한계점이 점점보이기 시작하다가
let을 만들게 된 이후는 var대신 let을 쓰게 되었다고함.
let
- 선언을 한번만 하게끔 되어져 있다.
->선언을 한번 하고 다시 해당 변수를 재 선언할 경우 오류가 발생한다.
-블록스코프와 함수 스코프 모두 따른다.
var
- 선언을 한번 한 이후 재헌선을 해도 에러가 발생하지 않음.
- 블록스코프는 무시하고 함수 스코프만 따른다.
-> 블록 스코프에 var로 변수를 지정후 블록을 빠져나와도 다시 해당 블록에 사용된 var를 다시 재사용이 가능하다.
Const
- 값이 변하지 않는 상수를 정의할 때 쓰는 const
- let과 동일하게 블록 스코프, 함수스코프를 따른다.
- 값의 변경을 최소화 하기 때문에 안전한 프로그래밍을 만드는것이 가능.
- 값을 재할당 할 경우 TypeError발생