호이스팅(Hoisting)
호이스팅(Hoisting)이란, 자바스크립트의 변수나 함수의 선언부분을 변수의 맨 위 범위로 강제로 끌고가 가장 먼저 선언합니다. 이 현상을 호이스팅(Hoisting)이라고 합니다.
// 우리가 작성한 코드
function fc(){
var name = 'kim';
}
if(true){
let name = 'park';
}
var age = 30; // 이 부분에서 호이스팅이 일어남
------------------------------
// 호이스팅이 되었을 때의 상황
var age; // -> 우리가 작성한 코드에는 아래 선언했지만 Hoisting 현상으로 맨 위로 끌어올려 선언시키게 됨
function fc(){
var name = 'kim';
}
if(true){
let name = 'park';
}
age = 30; // -> 우리가 작성했던 이 부분에서 할당이 진행됨
Hoisting 현상 예제
console.log(age); // Hoisting현상으로 위에 age가 선언되지만 값이 선언되지 않았으므로 값은 undefined
var age = 30;
console.log(age); // 값은 30
*undefined : 아직 값이 할당되지 않아 찾을 수 없는 상태. null값과 다르다.
728x90
'Web > CS공부' 카테고리의 다른 글
[JavaScript] 문자 다루는 방법(Template Literals) (0) | 2022.01.26 |
---|---|
[JavaScript] 전역변수, 지역변수 (0) | 2022.01.25 |
[JavaScript] 변수 신문법 : var, let, const (0) | 2022.01.25 |
[JavaScript] 기존 function과 Arrow function 의 차이 (0) | 2022.01.25 |
[JavaScript] this의 상황별 뜻 (0) | 2022.01.24 |