Prototype Chain

전영호·2021년 2월 26일
0

Prototype Chain을 말하려면 Object를 알아야한다.
JavaScript에서의 거의 모든 객체는 Object의 인스턴스이다. 일반적인 객체는 Object.prototype의 속성과 메소드를 상속받고, 그 중 일부는 숨겨진다.

JavaScript는 Class의 개념이 ES6에서 처음 등장했고 이전에는 prototype을 이용해 특정 함수의 '기반 클래스'객체를 만들어 사용했다.

Prototype Chain에서 중요한 몇가지 키워드가 있다.

Prototype Chain 키워드

1. prototype

Object.prototype : Object의 프로토타입(원형) 객체를 나타낸다.

  1. JavaScript에서의 거의 모든 객체는 Object의 인스턴스이기 때문에 객체는 Object.prototype의 속성과 메소드를 상속받는다.
  2. Object.create()를 이용해 다른 객체의 prototype을 상속해줄 수 있다.
  3. prototype 은 함수만을 갖을 수 있는 프로퍼티이다. 함수의 프로토타입 객체를 프로토타입 프로퍼티(Prototype Property)라고한다.

2. __ proto __

Object.prototype.__proto__ : 객체가 초기화 될 때 프로토 타입으로 사용된 객체를 가르킨다.

  1. __proto__는 모든 객체가 가지고 있는 속성(Object.prototype는 제외)
  2. 객체가 생성 될 때 자신의 원형(부모) 객체인 프로토타입을 가르킨다.(숨겨진 링크)
  3. __proto__는 최종적으로는 Object를 가르킨다.

3. constructor

Object.prototype.constructor : 객체의 프로토타입을 생성하는 함수를 지정한다.

생성자라고 부르는 constructor는 객체가 가질 수 있는 속성들을 정의하기 위해 사용한다.
(청사진의 개념으로 이해하면 쉽다)

profile
인생 1회차 주니어 개발자

0개의 댓글