ES6 이후부터의 JS 엔진 동작을 이해하기위해 생긴 개념.
‘JS 엔진은 식별자들을 최상단으로 끌어올린다'는 개념이다.
js의 변수 선언은 선언 → 초기화 단계
이후에 변수를 참조하여 할당이 가능하다
console.log(a); // undefined
var a = 10;
와 같은 코드는 호이스팅을 통해
var a;
console.log(a); // undefined
a = 10;
과 같은 순서로 이해할 수 있다.
function f1(){ // 이게 함수선언식
console.log('this is f1');
}
var a = 2;
에서
var a;
function f1(){
console.log('this is f1');
}
a = 2;