NULL

JS 호이스팅 본문

Front-end/JavaScript ES6

JS 호이스팅

1924 2022. 1. 12. 04:12

호이스팅이란?

변수나 함수 선언문 등 모든 선언문이 해당 스코프의

선두로 옮겨진 것처럼 동작하는 것을 말한다.

 

즉, js의 모든 선언문(var, let, const, function*, class)이 선언되기 이전에 참조 가능하다.

 

변수의 3단계 생성과정

 

선언된 변수는 선언단계와 초기와단계가 한번에 이뤄진다.

즉, 스코프에 변수가 등록되고 변수는 메모리 공간을 확보한 후 undefined로 초기화한다.

 

따라서 변수 선언문 이전에 변수에 접근하여도 Variable Object에 변수가 존재하기 때문에

에러가 발생하지 않는다, 다만 undefined를 반환한다. 이러한 현상을 변수 호이스팅이라고 한다.

'Front-end > JavaScript ES6' 카테고리의 다른 글

JS var, let, const 차이  (0) 2022.01.12
Comments