[JavaScript] 호이스팅


[JavaScript] 호이스팅

호이스팅이란? 자바스크립트 엔진이 먼저 코드를 스캔하면서 변수나 함수들을 해당 스코프에 저장해서 선언이 맨 위로 끌어올려진것처럼 보이는것 변수의 경우 var 미리 생성을 해놓고 undefined 로 초기화한다. → 따라서 ReferenceError 가 발생하지 않는다. console.log(a); // undefined var a = 1; console.log(a); // 1 let, const 생성을 해놓지만 초기화 하지않는다 → 따라서 참조 시 Referrence Error 가 발생한다. console.log(b); // ReferenceError: Cannot access 'b' before initialization let b = 2; console.log(b); // 2 let, const처럼 선언 이전에 참조 불가능한 구역 → 일시적 사각지대 (Temporal Dead Zone) (참고로 TDZ 에서는 typeof 도 Reference Error 가 발생한다) (typeo...


#JavaScript #자바스크립트 #호이스팅

원문링크 : [JavaScript] 호이스팅