질문 : ?
변수 중복 선언 금지
블록레벨 스코프
변수 호이스팅
let은 초기화단계와 선언단계가 분리되어 진행
런타임 이전에 선언단계는 진행되나 초기화 단계는 선언부를 만나고 진행
선언부 직전까지를 **일시적 사각지대(참조 에러)**라고 한다.
let foo = 1;
{
console.log(foo) // ReferenceError
let foo = 2;
}
그러나 위 코드에서 볼 수 있듯 호이스팅은 발생한다(모든 선언)
단 let const class는 호이스팅이 발생하지 않는것처럼(초기화 부분을 선언문단으로 미루어) 동작한다.
전역 객체와 let
일반적으로 상수 선언을 위해 사용하나 예외도 있다.