Dev/JavaScript
-
[JavaScript]호이스팅이란? var, let, const의 차이Dev/JavaScript 2022. 11. 30. 20:22
1. 호이스팅 자바스크립트에서 변수는 선언 → 초기화 단게를 거친다. 선언 단계에서는 변수명을 등록하여 자바스크립트 엔진에게 변수의 존재를 알린다. 초기화 단계에서는 값을 저장하기 위한 메모리 공간을 확보하고 암묵적으로 undefinde를 할당한다. 변수 선언은 런타임에서 되는 것이 아니라 그 이전에 먼저 수행된다. 자바스크립트 엔진은 변수 선언을 포함한 모든 선언문을 먼저 실행한다. 이를 호이스팅이라고 한다. (var, let, const, function, function*, class 키워드를 사용해 선언한 모든 식별자는 호이스팅된다.) 이러한 점에서 함수 선언문과 함수 표현식에는 차이가 있다. 함수 선언문은 함수 자체가 호이스팅 되고, 함수 표현식은 undefined로 초기화 된다. // 함수 참..