호이스팅

고규식·2021년 12월 10일
0
post-thumbnail

🧐 호이스팅이란?
💡 변수를 선언하고 할당했을 때 선언 부분이 최상단으로 끌어올려지는 현상

예시코드

console.log(zero); // 에러가 아니라 undefined
sayWow(); // 정상적으로 wow
function sayWow() {
  console.log('wow');
}
var zero = 'zero';

위의 코드는 선언(들)보다 호출(들)을 먼저 하기 때문에 그냥보면 말이 안되는 것 처럼 보입니다. 하지만 에러 없이 정상 동작합니다.

💡 변수 선언과 함수 선언식이 최상단으로 끌어올려졌기 때문이다.

위의 코드를 다시 해석하면 (호이스팅)

function sayWow() {
  console.log('wow');
}
var zero;
console.log(zero);
sayWow();
zero = 'zero';

하지만 함수 표현식 같은 경우는 호이스팅 적용이 되지않아 오류가 발생합니다.

profile
잠실사는 주니어 개발자

0개의 댓글