티스토리 뷰
반응형
호이스팅이란 변수의 선언이 생성될 때나 초기화할 때가 아닌 가장 최상단에서 선언된다는 것이다.
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을 출력한다.
반응형
'web > javascript' 카테고리의 다른 글
[Javascript] 변수 키워드의 차이점(var, let, const) (0) | 2022.03.15 |
---|---|
[Javascript] 기본 타입 (0) | 2017.03.24 |
[Javascript] 함수를 생성하는 방법들 (0) | 2016.12.15 |
[Javascript] 객체 생성 (0) | 2016.12.14 |
[Javascript] 비교 연산자 (0) | 2016.07.27 |
댓글