Hoisting

바유·2022년 4월 1일
0
post-thumbnail

Hoisting(끌어올리기):

코드가 실행하기 전 변수선언/함수선언이 해당 스코프의 최상단으로 끌어 올려진 것 같은 현상을 말한다. 단 할당이 끌어 올려지는 것이 아니다.
즉 선언이 코드 실행 보다 먼저 메모리에 저장되는 과정으로 인한 현상

변수 호이스팅 (var, let, const)

자바스크립트의 모든 선언에는 호이스팅이 일어나지만
let, const, class를 이용한 선언문을 호이스팅이 발생하지 않는 것처럼 동작한다.
let 으로 선언된 변수 스코프의 시작에서 변수의 선언까지 *일시적 사각지대 (Temporal Dead Zone; TDZ) 즉 초기화 되지 않는 변수가 있는 곳 에 빠져서 참조 에러(ReferenceError)가 발생한다.

주의: 호이스팅이 발생했기 때문에 에러가 발생한다. 역은 성립X

예시)

text = '바유' // 선언 없으면 var로 선언한 것과 동일하다. 
console.log(text); // 그래서 선언 없어도 콘솔 출력된다. 

---------------------------------------------------
바유 
<a href="https://www.flaticon.com/free-icons/girder" title="girder icons">Girder icons created by Assia Benkerroum  - Flaticon</a>

0개의 댓글