Hoisting(호이스팅) 이란?
함수 안에 있는 선언들을 모두 끌어올려서 해당 함수 유효범위의 최상단에 선언하는 것
변수의 경우 var로 선언한 변수만 호이스팅이 적용된다. (let, const 변수는 적용되지 않음)
예시
적용 전
console.log("hello");
var myname = "KIM";
let myname = "KIM222";
적용 후
var myname;
console.log("hello");
myname = "KIM";
let myname = "KIM222";
Hoisting 함수 적용
함수의 선언문은 적용되나, 표현식은 적용되지 않는다.
적용 전
foo();
foo2();
function foo() {
console.log("TEST");
}
var foo2 = function() {
console.log("TEST2");
}
적용 후
var foo2;
function foo() {
console.log("TEST");
}
foo();
foo2(); // ERROR!!!
foo2 = function() {
console.log("TEST2");
}
Hoisting 우선순위
변수 선언문이 함수 선언문보다 위로 끌어올려진다.
'개발 > Javascript' 카테고리의 다른 글
Vite + React + tailwind CSS (0) | 2024.12.03 |
---|---|
NPM 배포하기 (0) | 2024.04.14 |
Javascript Closure (클로저) (0) | 2024.04.09 |
Webpack(웹팩) 설정하는 법 (0) | 2024.04.08 |