Javascript/기초

var & hoisting

컴공 윤서혜 학습일기 2021. 1. 26. 11:01

아래 있는 선언을 끌어올리는 현상이다.

 

보통 함수에서 일어나는데 var도 이러한 현상이 일어난다. 다음코드가 잘 동작이 된다.

age = 6;
age++;
console.log(age);

var age;

 

또다른 호이스팅현상을 보여주겠다.

console.log(name);

name = "Mark";

console.log(name);

var name;
//출력값

undefined
Mark

 

 

console.log(name);

name = "Mark";

console.log(name);

var name = "Woongjae";
//출력값

undefined
Mark

호이스팅현상이 확실히 일어난다고하면 두번 다 Woongjae가 출력이 되어야하는데 Woongjae는 전혀 출력이되지않는 특이한 현상이 일어난다. 

 

 

--> 이러한 문제때문에 var를 쓰지않고 let을 쓰는 일이 많아졌다.