[JavaScript] 자바스크립트 호이스팅(Hoisting)
코드 실행 시 변수 처리 자바스크립트 엔진이 코드를 읽으면, 생성 단계에서 실행 컨텍스트를 생성한다. 이 때 함수 선언문은 생성 단계에서 함수 전체가 실행 컨텍스트에 저장된다. var 변수는 저장 시 undefined로 초기화된다. (undefined는 엄연히 javascript에서 값이다.) let, const는 초기화되지 않는다. (== uninitialized) Hoisting console.log(callMe()) //undefined var x = 10 console.log(callMe()) // 10 function callMe() { return x } Hoisting은 변수가 선언된 시점보다 앞에서 사용되는 현상이다. 이는 var 변수가 생성 단계에서 undefined로 초기화되는 것이 원..