09. 기술면접 - 자바스크립트 - 호이스팅 (Hoisting)
공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다
호이스팅 (Hosting)
- Hosting(끌어 올리다) 이란 선언한 함수와 변수를 해석기가 가장 상단에 있는 것 처럼 인식한다
- JS 해석기는 코드의 라인 순서와 관계 없이 함수 선언식(함수 표현식 X)과 변수를 위한 메모리 공간을 먼저 확보
- 따라서, function a() 와 var 는 코드의 최상단으로 끌어 올려진 것 (hostied) 처럼 보인다
function a() {
return 10;
}
a(); // 5
function a() {
return 5;
}
순서대로 동작했다면 a 는 10이 출력되어야 하는 데, 해석기가 함수실행보다 선언을 먼저 인식하기 때문에 a는 재정의 되어서 5가 된다
function a() {
return 10;
}
a(); // 10
var a = function a() {
return 5;
}
a(); // 5
함수 표현식으로 작성을 하게 되는 경우 호이스팅은 적용되지 않아 작성한 순서대로 출력되는 것을 볼 수 있다
'∞. 기술 면접 > 8. 자바스크립트' 카테고리의 다른 글
11. 기술면접 - 자바스크립트 - this (0) | 2021.10.25 |
---|---|
10. 기술면접 - 자바스크립트 - 클로저 (Closure) (0) | 2021.10.22 |
08. 기술면접 - 자바스크립트 - 전개 구문 (Spread Operator) (0) | 2021.10.22 |
07. 기술면접 - 자바스크립트 - 구조 분해 할당 (Destructuring) (0) | 2021.10.22 |
02. 기술면접 - 자바스크립트 - 함수 선언식과 함수 표현식 (0) | 2021.10.22 |
댓글
이 글 공유하기
다른 글
-
11. 기술면접 - 자바스크립트 - this
11. 기술면접 - 자바스크립트 - this
2021.10.25 -
10. 기술면접 - 자바스크립트 - 클로저 (Closure)
10. 기술면접 - 자바스크립트 - 클로저 (Closure)
2021.10.22 -
08. 기술면접 - 자바스크립트 - 전개 구문 (Spread Operator)
08. 기술면접 - 자바스크립트 - 전개 구문 (Spread Operator)
2021.10.22 -
07. 기술면접 - 자바스크립트 - 구조 분해 할당 (Destructuring)
07. 기술면접 - 자바스크립트 - 구조 분해 할당 (Destructuring)
2021.10.22