생성자 함수 프로토 타입
섹션 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__와 프로토타입 체인에 대한 액세스를 허용합니다.
지금 제기된 질문과 비슷한 주제에 대해 더 상세한 이해를 원하신다면, 다음 게시물을 참고하실 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
css box-sizing 관련 질문
0
7
1
스니펫이 이상해요
0
9
2
스터디는 매달 열리나요?
0
9
1
디자인패턴 질문
0
11
1
Editor Component의 최적화 불가능 이슈
0
17
2
useCallback ⊂ useMemo
0
21
2
깃허브 저장소를 어디에 첨부하셨나요?
1
28
1
nestjs 강의는 없나요??
1
25
2
스타터 저장소
1
31
1
What is Rxjs
0
21
1
라이브러리 설치 질문
0
26
2
linter 질문
0
32
2
깃허브 권한을 다시 받을 수 있나요?
0
45
2
수업자료 링크 접속했는데 404에러 뜹니다 ㅠ
1
34
1
강의 특전 깃허브 자료 관련
0
28
2
구글 폼 작성 완료했습니다
1
37
2
팩토리 패턴
0
41
2
싱글톤 패턴 구현방법
0
46
2
primitive에 onClick 이벤트가 안되는 경우
0
26
2
감정일기장 vercel 배포 후 새로 고침 시 404페이지가 뜨는 이유
0
37
2
라이브러리 프레임워크 차이 질문
0
48
1
신입 공백, 프로젝트 관련 질문이 있습니다.
1
58
2
자료실
1
36
2
Sort 메서드 관련 아티클
0
41
2

