Programing Language/JavaScript
[JavaScript] 호이스팅 (Hoisting) 예제
호이스팅(Hoisting) 스코프 안에 있는 선언들을 모두 스코프의 최상위로 끌어올리는 것이다. 선언문들을 미리 실행하는 것이라 생각하면 된다. 실제 메모리에서는 변화가 없다. var 키워드나 함수 선언문 같은 경우는 코드 실행 전 자바스크립트 내부에서 미리 변수를 선언하고 undefined로 초기화를 해놓는다. let 키워드, const 키워드와 함수 표현식도 호이스팅이 발생하긴 하나 변수를 선언만 해놓을 뿐 초기화하지 않는다. 초기화는 변수 선언문을 만났을 때 수행한다. 이때 선언과 초기화 사이에 일시적으로 변수 값을 참조할 수 없는 구간을 Temporal Dead Zone(TDZ)이라 한다. 예제 1 console.log(typeof(funcHello)); console.log(typeof(func..