자바스크립트 객체 프로토타입 (Object Prototypes)

모든 자바스크립트 객체는 프로토타입(prototype)에서 속성과 메소드를 상속받습니다.


이전 장에서 객체 생성자(object constructor)를 사용하는 방법을 배웠습니다:

Example

My father is 50. My mother is 48

또한 기존 객체 생성자(object constructo)에 새 속성을 추가할 수 없다는 것도 배웠습니다.:

Example

The nationality of my father is undefined

생성자(constructor)에 새 속성(property )을 추가하려면, 생성자 함수(constructor function)에 추가해야합니다:

Example

My father is English. My mother is English


프로토 타입 상속 (Prototype Inheritance)

모든 자바스크립트 객체는 프로토타입에서 속성과 메소드를 상속받습니다.

Date 객체는 Date.prototype에서 상속받습니다. Array 객체는 Array.prototype에서 상속받습니다. Person 객체는 Person.prototype에서 상속받습니다.

Object.prototype은 프로토타입 상속 체인의 맨 위에 있습니다:

Date 객체, Array 객체 및 Person 객체는 Object.prototype에서 상속받습니다.


객체에 속성 및 메소드 추가

때로는 주어진 유형(given type)의 모든 기존 객체(existing objects)에 새 속성(또는 메소드)을 추가하고자 합니다.

때로는 객체 생성자(object constructor)에 새 속성 (또는 메소드)을 추가하고자 합니다.


prototype 속성(Property) 사용

자바스크립트 prototype 속성을 사용하여, 객체 생성자(object constructors)에 새 속성을 추가할 수 있습니다:

Example

My father is English

자바스크립트 prototype 속성을 사용하여 새 메소드 객체 생성자(new methods objects constructors)를 추가할 수도 있습니다.

Example

My father is John Doe

출처:

JavaScript Object Prototypes

댓글 남기기