호이스팅은 함수 선언부가 유효범위 최상단으로 끌어올려지는 현상이다.

다음과 같이 함수 표현식을 사용하면 log를 남기는 부분에서 아직 double에 함수가 선언되기 전이라서 double이 함수가 아니라는 에러가 난다.

console.log(double);

***const double = function() {***
	console.log(a*2);
}

그러나 아래와 같이 함수 선언식으로 바꾸면 문제 없이 동작한다.

console.log(double);

***function double() {***
	console.log(a*2);
}

함수 선언식으로 함수를 선언했을 때 double 함수가 제일 위로 끌어 올려지는 현상을 호이스팅이라고 한다.