생성자 함수 프로토 타입
섹션 6-28 생성자함수와 프로토타입에서 슬라이드 39장을 설명할 때, Parent 함수 자체는 객체가 아니라서 __proto__프로퍼티가 없다고 하셨는데, 자바스크립트에서 함수는 객체여서 __proto__프로퍼티가 있지않나요?
답변 2
1
안녕하세요. 이지현님!
결론부터 말씀드리면 강의 내용이 수정되어야 하는 것이 맞습니다.
자바스크립트의 모든 함수는 일급 객체 취급하기 때문에 객체가 맞고 그에 따라 __proto__ 속성을 갖습니다. 이때 Parent.__proto__는 Function.prototype을 참조하게 됩니다.
Function.prototype은 Parent.prototype과는 별개이며
Function.prototype은 Parent 함수가 참조하는 프로토타입이고Parent.prototype은 함수를 통해 생성된 인스턴스가 참조하는 프로토타입입니다.
즉, 함수는 누군가의 자식인 동시에 누군가의 부모가 될 수 있는 이중적인 구조를 가집니다.
놓친 부분을 바로 잡아주셔서 감사드립니다. 강의는 수정하여 재업로드하도록 하겠습니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
이지현님이 질문주신 자바스크립트의 함수와 프로토타입에 대한 부분은 자바스크립트의 객체 지향 특성을 이해하는 데 중요한 주제입니다. 자바스크립트에서 함수도 객체이기 때문에, 일반적으로 모든 함수는 __proto__ 프로퍼티를 가지고 있습니다. 이는 함수가 객체라는 것을 나타내며, Function 프로토타입을 가리킵니다.
하지만 강의에서 언급된 “Parent 함수 자체는 객체가 아니라 __proto__ 프로퍼티가 없다”는 설명은 다소 혼란스러울 수 있습니다. 아마도 강사님께서 특정 상황에서의 맥락이나 예외적인 경우를 설명하시면서 발생한 혼란일 수 있습니다. 일반적으로 자바스크립트의 함수는 callable 객체로서 __proto__와 프로토타입 체인에 대한 액세스를 허용합니다.
지금 제기된 질문과 비슷한 주제에 대해 더 상세한 이해를 원하신다면, 다음 게시물을 참고하실 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
경력 어필에 관하여
0
2
1
자료집 관련
0
11
2
13. (App 2) 기본기 훈련 에서
0
17
1
챌린지 시작일 문의
0
23
0
2. 어떤 도구를 사용하는 것이 가장 유리할까? 강의 중
0
20
1
11차시 Antigravity IDE 설치 후
0
21
1
처음 에이전트 설정을 잘못 했을 경우 수정 하는 방법
0
19
1
5,6,7,8 내용이 없어요
0
21
1
이력서의 자기 소개를 그대로 자기소개 할때 핵심 매력으로 소개하면 마이너스 일까요?
1
10
2
ThemeProvider를 이용해서 NextThemeProvider를 따로 생성하여 Layout.tsx에 적용하는 이유는 뭘까요?
0
15
1
mission 09-01 을 수행할 수 없어요
0
25
1
Context API vs Zustand 그리고 Auth
0
38
2
순수 함수 / 순수 컴포넌트
0
24
1
css box-sizing 관련 질문
0
34
2
스니펫이 이상해요
0
32
2
스터디는 매달 열리나요?
0
32
1
디자인패턴 질문
0
32
2
Editor Component의 최적화 불가능 이슈
0
38
2
useCallback ⊂ useMemo
0
38
2
깃허브 저장소를 어디에 첨부하셨나요?
1
41
1
nestjs 강의는 없나요??
1
41
2
스타터 저장소
1
43
1
What is Rxjs
0
32
1
라이브러리 설치 질문
0
34
2





