Lsiron

2.Hoisting 본문

언어/Java Script

2.Hoisting

Lsiron 2024. 4. 21. 15:58

Hoisting 이란, 모든 변수 선언문이 코드의 최상단으로 이동되는 것처럼 느껴지는 현상을 이야기한다.

하단과 같이 변수 선언을 하고나서 값을 할당하지 않은채 console.log를 찍어보면 undefined로 결과값이 출력된다. 

상단과 같이 console.log를 먼저 찍어놓고 후에 var로 선언하면 undefined로 출력함. 

undefined
Lsiron

즉, var 키워드로 변수를 선언하면 상단과 하단의 코드 결과값이 동일하다.

 

허나 let과 const 키워드로 위와같이 console.log를 먼저 찍고 실행 할 시, undefined를 출력하지 않고 

ReferenceError: Cannot access 'name' before initialization

(name이라는 변수를 초기화 하기 전에 접근할 수 없다.)

와 같은 에러가 뜬다. 이 점으로 보아 let과 const 키워드는 Hoisting이 발생 하지만 실행을 막아줄 수 있고, var 키워드 또한 Hoisting가 발생하지만 실행을 막아주지 않는다. 이로 인해 var 대신 let 키워드를 사용하는 이유이다. 

 

'언어 > Java Script' 카테고리의 다른 글

Java Script -DOM 객체 (feat. Elice)  (0) 2024.05.08
Java Script -함수 (feat. Elice)  (0) 2024.05.03
4.조건문과 반복문  (0) 2024.04.22
3.연산자  (0) 2024.04.21
1. 개념과 정의  (0) 2024.04.03