[Javascript] 호이스팅 (Hoisting)

adc0612·2022년 3월 8일
0

호이스팅 (Hoisting)

Javascript에서 호이스팅은 코드가 실행되기 전 변수/함수선언이 해당 스코프의 최상단으로 끌어 올려진 것 같은 현상을 뜻한다.
Javascript 엔진의 컴파일 과정에서 모든 스코프를 탐색하며 객체에 대한 여러 식별자를 수집한다. 그러므로 코드가 실행 되기 전에 함수/변수를 참조 할 수 있다.

  • Var는 호이스팅이 발생하면, 선언과 초기화가 거의 동시에 되므로 참조와 할당이 가능하다. (값은 Undefined)
  • let, const는 호이스팅이 발생하면, 선언만 이루어진다. 그러므로 참조와 할당이 불가능하다.

0개의 댓글