본문 바로가기

Web/CS공부

[JavaScript] 호이스팅(Hoisting)

 

호이스팅(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