hotamul의 개발 이야기

[hotamul] Javascript 호이스팅이란? (+TDZ) 본문

project/mevn-study

[hotamul] Javascript 호이스팅이란? (+TDZ)

hotamul 2022. 10. 30. 00:35

JavaScript Hoisting refers to the process whereby the interpreter appears to move the declaration of functions, variables or classes to the top of their scope, prior to execution of the code.


Javascript에서 호이스팅(hoisting)이란 변수, 함수가 선언되기 전 사용될 때를 대비해서 사용하려는 scope 맨 위에 선언한 것과 같은 효과를 보이는 것을 말한다.

링크에 좋은 예시와 자세한 설명이 있으니 참고하자.


위 링크의 글을 읽다 보면 TDZ(Temporal Dead Zone)에 대한 내용도 찾아볼 수 있다.

TDZ가 발생하는 이유는 let, const 변수는 var 변수와 다르게 호이스팅 시 변수를 초기화하지 않는다 점 때문에 발생합니다. 주의할 점은 TDZ가 발생하는 곳은 코드의 작성 순서(위치)에 의한 것이 아니라 아니라 코드의 실행 순서(시간)에 의해 형성됩니다.

Comments