[TIL] hoisting

With·2021년 6월 21일
0

변수선언의 실행시점과 변수 호이스팅 (42-43p)

  • 자바스크립트 코드는 인터프리터에 의해 한 줄씩 순차적으로 실행된다. 단, 변수 선언은 런타임이 아니라 그 이전 단계에서 먼저 실행된다.
    런타임 ⇢ 소스코드가 한 줄씩 순차적으로 실행되는 시점

  • 자바스크립트 엔진은 변수 선언을 포함한 모든 선언문을 소스코드에서 찾아 먼저 실행하고, 그 과정이 끝나면 변수 선언을 포함한 모든 선언문을 제외하고 소스코드를 순차적으로 실행시킨다. 즉 자바스크립트 엔진은 변수 선언이 소스코드의 어디에 있든 상관없이 다른 코드보다 먼저 실행시킨다.

console.log(score) // undefined 
var score;

/* 이 코드에서 refrence Error가 아닌 undefined가 출력된 것이 예시다.*/

변수 선언(선언과 초기화 단계)이 런타임 이전에 실행되는 것, 즉 코드의 선두로 끌어올려진 것처럼 동작하는 자바스크립트의 고유 특징을 호이스팅이라고 한다

profile
주니어 프론트엔드 개발자 입니다.

0개의 댓글