LHJ

I'm a FE developer.

7.9 함수 호이스팅

05 May 2020 » js_lj

var로 선언된 변수와 마찬가지로, 함수 선언도 스코프 맨 위로 끌어올려집니다.
따라서 함수를 선언하기 전에 호출할 수 있습니다.

f(); // 'f'
function f() {
	console.log('f');
}

잠깐, 변수에 할당한 함수 표현식은 끌어올려지지 않습니다.
이들은 변수의 스코프 규칙을 그대로 따릅니다.
다음 예제를 보십시오.

f(); // ReferrenceError: f는 정의되지 않았습니다.
let f = function() {
	console.log('f');
}