[javascript] var 키워드의 호이스팅 동작 방식
예를 들어, 다음 코드를 살펴보겠습니다.
console.log(myVar); // undefined
var myVar = 5;
이 코드에서 변수 myVar
은 선언 전에 참조되었지만, undefined
가 출력됩니다. 이는 변수 선언이 스코프의 최상단으로 끌어올려지기 때문입니다. 실제로 JavaScript는 위 코드를 다음과 같이 해석합니다.
var myVar;
console.log(myVar); // undefined
myVar = 5;
함수 선언의 경우에도 호이스팅이 발생합니다.
myFunc(); // "Hello, hoisting!"
function myFunc() {
console.log("Hello, hoisting!");
}
위 코드에서 myFunc
함수가 선언되기 전에 호출되었지만, JavaScript는 호이스팅을 통해 이를 허용합니다.
이러한 호이스팅의 동작 방식은 JavaScript의 동작을 이해하기 위해 중요한데, 주의하여 코드를 작성할 필요가 있습니다.