function add(){
return 10;
}
add();
function add(){
return 20;
}
hoisting을 이해하지 않고 위 코드를 봤을 때 add(); 결과가 10일 거라고 생각할 것이다. 그러나 결과는 20이다. 실제 순서는 아래와 같다.
function add(){
return 10;
}
function add(){
return 20;
}
add(); // 20
var sum = 5;
sum = sum + i;
function add(){}
var i = 10;
위 코드의 실행 순서를 정리하면 아래와 같아 진다.
var sum;
function add(){}
var i;
sum = 5;
sum = sum + i;
i = 10;