카테고리 없음

4.29 프로토타입 객체와 proto

문앵 2021. 4. 29. 21:04

오늘 수업에서 배운 내용으로 이해하는게 쉽지 않아서 다른 사이트와 영상들을 참고하여 나름대로 이해해보았습니다.

그 내용을 정리해볼까 합니다.

 

 1. 프로토타입 객체란?  

-우리가 자바스크립트에서 함수를 정의하면, 2가지 객체가 생성됩니다.

하나는 우리가 정의한 함수(객체)이고, 또 하나는 그것의 프로토타입 객체입니다.

 

이 두개의 객체는 서로 연관되어있습니다. 

우선 "person함수" 에는 <prototype>이라고 하는 속성(property)이 있습니다.

이 속성은 "person 의 프로토타입 객체"를 참조합니다.

마찬가지로 "person의 프로토타입 객체" 에는 <constructor> 속성이 있습니다.

이 속성은 "person 함수 (객체)" 참조합니다.

즉, person함수와 그의 프로토타입 객체상호 참조 관계입니다.

 

 

여기에서 프로토타입 객체의 특성을 알아보기 위해, 

person.prototype.give = function(){}

와 같이 새로운 정의를 해보겠습니다.

이것의 의미는

"person prototypegive에다가 함수를 정의해주겠다." 가 됩니다.

그런데 여기서 prototype은 애초에 함수의 속성값인데 이 아이가 가리키는 곳은 prototype 객체 입니다.

 

즉 여기 prototype객체의 속성값에서 give를 찾아주면 그것을 person의 prototype이 참조하게 됩니다.

proto type 객체에 give가 없으니 여기에 give를 생성해주고, 거기에 함수를 정의합니다.

반응형