let, const, var

let, const는 선언된 블록 내에서만 접근할 수 있다.var는 선언된 함수 내에서 유효하다.const : 값을 재할당할 수 없는 상수 를 선언할 때 사용, 초기 선언 이후 값을 변경할 수 없음var let : 값을 재할당할 수 있음const
안정성을 높이고 버그를 예방할 수 있다.let
유연하게 변경할 수 있다var
위험코드의 가독성을 떨어뜨리고 유지보수를 어렵게 만든다.console.log(myVar); // undefined, not ReferenceError
var myVar = 10;
// 가독성 떨어지는 코드
function doSomething() {
for (var i = 0; i < 10; i++) {
// loop body
}
console.log(i); // 10, accessible outside the loop
}
doSomething();
💡 const, let도 호이스팅 된다.
하지만 var 처럼 초기값을 undefined 로 미리 할당하지 않는다!