TIL/JavaScript
[240105] 호이스팅, 변수 생성 과정, TDZ
호이스팅이란? 스코프 안에 선언한 것들을 실행 전 스코프의 최상단으로 끌어올리는 것 .. 이 아니라! 끌어올려진 것 같은 현상 호이스팅의 대상 자바스크립트의 모든 선언에만 호이스팅이 일어난다. 즉, 할당에는 호이스팅이 일어나지 않는다. 변수 생성 과정 [1] 선언 단계(Declaration phase) 변수를 실행 컨텍스트의 변수 객체에 등록한다. 이 변수 객체는 스코프가 참조하는 대상이 된다. [2] 초기화 단계(Initialization phase) 변수 객체에 등록된 변수를 위한 공간을 메모리에 확보한다. 변수는 undefined로 초기화된다. [3] 할당 단계(Assignment phase) undefined로 초기화된 변수에 실제 값을 할당한다. 변수 생성 과정은 어떻게 진행되는가? 함수 선언문..