본문으로 건너뛰기

호이스팅

자바스크립트 엔진이 식별자들(변수)을 최상단으로 끌어 올려놓은 다음 실제 코드를 실행하기 때문에 발생하는 현상.
즉, 동기적으로 코드를 실행시키기 전, 선언된 식별자들을 맨 위로 끌어올려 실행하게 된다.

일부에서는 let, const 및 class를 호이스트되지 않는 것처럼 보이지만, 그 이유는 TDZ(temporal dead zone)가 선언 이전의 변수 사용을 엄격하게 금지하고 있기 때문이다.

변수 호이스팅

var

let, const

함수 호이스팅

class 호이스팅