IT공부

hoisting 퀴즈

지식루프 2025. 3. 16. 17:28
728x90
반응형

아래 코드를 실행했을 때 콘솔에 출력되는 결과로 올바른 것은? 

 

console.log(age);
var age = 3;
console.log(age);

 

 

1번

ReferenceError

 

2번   

3
3

 

3번

undefined
3

 

4번
null
3


 

 

 

 

[정답] 3번

- ES2015 이전에 변수를 만들 때 사용했던 var 키워드는 선언 부분이 호이스팅이 되는 특징 때문에, 선언을 한 부분 이전에 사용을 할 수도 있음.

- 단, 선언과 동시에 값을 할당하면, 할당된 값은 선언 이후에 사용할 수가 있는데요. 결과적으로 2번 줄에서 할당한 3은 2번 줄 이후부터 유효하기 때문에 1번 줄에서는 선언 부분만 호이스팅 되어서 undefined 값이 출력되고, 3번 줄에서는 값이 할당된 3이 출력됨.

 

 

 

*참고 : 호이스팅은 자바스크립트에서 변수나 함수 선언이 코드의 위로 끌어올려지는 것처럼 동작하는 개념

728x90
반응형