두 번째 줄 부터 오류를 뿜어내요.
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번째 줄에서의 오류는 의도된 것입니다.
인스턴스에서 prototype 프로퍼티에 직접 접근해야하는 이유
0
59
1
setTimeout 에서 this
0
81
1
2강부터 영상이 나오지 않습니다.
0
176
1
자바스크립트 주석에 이상한 점이 있어서 문의드립니다.
0
221
2
return 문 안에 여러 함수가 존재하는 것이 이해되지 않습니다.
1
259
1
클래스 static 멤버
1
253
1
실행컨텍스트와 스택프레임
2
567
1
프로토타입으로 상속할때 브릿지 사용 이유
0
320
1
호이스팅 관련 질문
1
335
1
책 66p. 예제 3-2 질문입니다.
0
356
1
강의 내용 10:58 캡슐화 질문입니다.
1
399
1
강의 내용 5:10 질문입니다.
1
422
2
전역 공간에서의 this
0
426
2
18:31 addEventListener의 this
1
480
1
outerEnvironmentReference 질문
1
372
1
실행 컨텍스트와 클로저에 대해 질문드립니다.
1
448
1
Object.prototype.constructor의 [[prototype]] ?
1
658
1
함수를 값으로 할당할 때
2
458
1
15:54 'ddd' 사라지는 오류?
4
375
1
프로토타입 getPrototypeOf(instance).constructor(n,a) 질문입니다.
1
406
1
기본형/가변형 질문입니당
0
334
0
선생님 그러면 섹션 0만 봐도 무방한가요!?
0
338
1
Hoisting과 environmentRecord에 관한 질문입니다.
1
294
1
안녕하세요, 데이터 변경 질문입니다.
0
330
1





