인프런 커뮤니티 질문&답변
두 번째 줄 부터 오류를 뿜어내요.
해결된 질문
작성
·
217
0
Uncaught TypeError: b is not a function
at 2.function.html:12
console.log(a());console.log(b());
console.log(c());
// 함수 선언문
function a() {
return 'a';
}
// 기명 함수표현식
var b = function bb() {
return 'bb';
}
// (익명) 함수표현식
var c = function() {
return 'c';
}
물론 console.log 를 함수 아래에 작성하면 이상없이 잘 나옵니다.
답변 1
1
정재남
지식공유자
함수표현식은 변수 선언부만 호이스팅되고 함수 본문은 호이스팅되지 않기 때문에,
함수가 정의되기 이전에 함수를 호출하면 오류가 나는 것입니다.
즉 2번째 줄에서의 오류는 의도된 것입니다.





