whatisthis?
javaScript. 호이스팅(Hoisting) 이란? 본문
JavaScript에서 호이스팅(hoisting)이란,
인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것을 의미
var | 호이스팅 시 undefined로 변수를 초기화 |
let과 const | 호이스팅 시 변수를 초기화하지 않음 |
호이스팅을 "변수의 선언과 초기화를 분리한 후, 선언만 코드의 최상단으로 옮기는" 것으로 말하곤 함.
따라서 변수를 정의하는 코드보다 사용하는 코드가 앞서 등장할 수 있음.
- 자바스크립트 엔진은 코드를 실행하기 전 실행 컨텍스트를 위한과정에서 모든 선언(var, let, const, function, class)을 메모리에 저장한다.
- 코드 실행 전 이미 변수선언/함수선언이 메모리에 저장되어 있기 때문에 선언문보다 참조/호출이 먼저 나와도 오류 없이 동작한다.
https://mywebproject.tistory.com/74
JavaScript) 변수 선언과 데이터타입
변수 선언 - let과 const와 var의 차이 우선, Hoisting과 Scope의 개념을 먼저 알아야 한다. cr: https://www.howdy-mj.me/javascript/var-let-const/ var, let, const의 차이 ⏤ 변수 선언 및 할당, 호이스팅,..
mywebproject.tistory.com
이전에 포스팅했던 변수선언 관련해서 [호이스팅]에 대해 내용 추가함.
사용 예.
catName("클로이");
function catName(name) {
console.log("제 고양이의 이름은 " + name + "입니다");
}
💡 주의
console.log(num); // ReferenceError
num = 6; // 초기화
위와 같이 변수의 선언(const/let/var) 없이 초기화만 한다면,
Reference Error이 발생한다. (호이스팅이 되지 않으므로!)
REFERENCE
호이스팅 - 용어 사전 | MDN
JavaScript에서 호이스팅(hoisting)이란, 인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것을 의미합니다. var로 선언한 변수의 경우 호이스팅 시 undefined로 변수를 초기화합니다
developer.mozilla.org
[JavaScript] 호이스팅(Hoisting)이란? - 하나몬
❗️호이스팅이란? 호이스팅은 코드를 실행하기 전 변수선언/함수선언을 파일의 맨 위로 끌어올리는 것이 아니다. 호이스팅은 코드가 실행하기 전 변수선언/함수선언이 파일의 맨 위로 끌어 올
hanamon.kr
'WEB STUDY > JAVASCRIPT' 카테고리의 다른 글
javaScript. Array(배열) (0) | 2021.12.06 |
---|---|
javaScript. Math.floor과 Math.trunc의 차이 (0) | 2021.12.06 |
Momentum clone (part final) (0) | 2021.11.28 |
javascript) 객체(object)의 구성 + JSON / AJAX (0) | 2021.11.06 |
javascript) 자바스크립트 ' this ' (0) | 2021.11.06 |