강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

seed님의 프로필 이미지
seed

작성한 질문수

코어 자바스크립트

두 번째 줄 부터 오류를 뿜어내요.

해결된 질문

작성

·

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번째 줄에서의 오류는 의도된 것입니다.

seed님의 프로필 이미지
seed

작성한 질문수

질문하기