티스토리 뷰

web/javascript

[Javascript] 호이스팅

sungjine 2016. 12. 2. 22:01
반응형

호이스팅이란 변수의 선언이 생성될 때나 초기화할 때가 아닌 가장 최상단에서 선언된다는 것이다.

 

ex)

{

console.log(num);  // undefined

var num = 10;

console.log(num);  // 10

}, 

{

var num;

console.log(num);  // undefined

num = 10;

console.log(num);  // 10

}

 

위 두 예제는 호이스팅이 적용되기 때문에 에러를 출력하는 것 대신 undefined와 10을 출력한다. 이것은 위에서 설명한 것과 같이 변수의 선언이 최상단에서 이루어지기 때문인데 함수 안에서도 변수의 선언이 함수 최상단에서 선언이 이루어진다.

 

ex)

function excemple {

console.log(num);  // undefined

var num = 10;

console.log(num);  // 10

}

 

예제는 함수 최상단에 변수를 선언하므로 undefined와 10을 출력한다.

 

ex)

var num = 10;

function excemple {

console.log(num);  // undefined

var num = 10;

console.log(num);  // 10

}

 

그리고 만약 위와 같이 작성했다면 이 예제의 위 예제와 같이 함수 안에서 num을 함수 최상단에서 선언하므로 undefined와 10을 출력한다.

반응형
댓글
반응형
최근에 올라온 글
Total
Today
Yesterday
글 보관함
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31