블록 진입
if, for, while, switch, 중괄호 블록마다 let/const의 범위가 새로 생긴다.
let과 const는 var를 대체하는 취향 문제가 아니라, 변수가 살아 있는 범위를 블록으로 제한해 값 추적을 단순하게 만드는 문법이다.
if, for, while, switch, 중괄호 블록마다 let/const의 범위가 새로 생긴다.
선언 전 접근은 temporal dead zone 때문에 ReferenceError가 난다.
let은 재할당 가능하지만 const는 같은 binding에 새 값을 넣을 수 없다.
const 객체의 속성 변경은 binding 재할당과 다르므로 가능하다.
for (let i = 0; i < 3; i += 1) {
setTimeout(() => console.log(i), 0);
}