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
반응형
'IT공부' 카테고리의 다른 글
[지식루프 IT공부] arguments 객체는 배열 메서드를 사용할 수 있을까? (0) | 2025.03.18 |
---|---|
[지식루프 IT공부] 함수선언과 함수표현식의 차이 (0) | 2025.03.16 |
[지식루프 IT공부] classList란? (0) | 2025.03.13 |
[지식루프 IT공부] innerHTML과 outerHTML의 차이 (0) | 2025.03.11 |
[지식루프 IT공부] 자바스크립트로 태그 선택하기 (0) | 2025.03.10 |