.png)
자바스크립트의 특성 상 아래쪽에 함수를 선언하고, 먼저 사용하는 경우가 있다.
이렇게 아직 선언되지 않은 함수, var 변수를 끌어올려서 사용하는 작동 방식을 호이스팅이라고 한다.
이런 호이스팅은 웬만하면 피하는 것이 좋다! 코드를 이해하기가 어려워지기 때문이다.
🔧 아래 있는 선언을(만) 끌어올린다. = hoisting
console.log(name);
//출력 : undefined
name='doyeon';
console.log(name);
//출력 : doyeon
var name;
console.log(name);
//출력 : undefined
name='doyeon';
console.log(name);
//출력 : doyeon
var name='woong';
var name;
console.log(name);
//출력 : undefined
name='doyeon';
console.log(name);
//출력 : doyeon
name='woong';
🔧 var가 아닌 let을 쓰면 문제는 발생하지 않는다.