Hi

(javascript) 프로토타입 본문

WEB(웹)

(javascript) 프로토타입

SharingWorld 2018. 6. 20. 14:27

프로토타입

자바스크립트의 모든 객체는 자신의 부모 역할을 하는 객체와 연결되어 있다.
(객체 지향의 상속 개념과 같이 부모 객체의 프로퍼티를 마치 자신의 것처럼 쓸 수 있는 것 같은 특징)


부모 객체를 프로토타입 객체(짧게는 프로토타입) 라고 부른다.

var foo = {
	name: 'foo',
	age: 30
};

console.log(foo.toString()); // foo의 프로토타입에서 toString() 메서드를 가지고 옴

console.dir(foo);

모든 객체는 자신의 프로토타입을 가리키는 [[Prototype]]라는 숨겨진 프로퍼티를 가진다.

toString()
valueOf()
hasOwnProperty()
	...

Object.prototype 객체



(상속)

name: 'foo',
age: 30,
__proto__

foo 객체


객체를 생성할 때 결정된 프로토타입 객체는 임의의 다른 객체로 변경하는 것도 가능. -> 부모 객체를 동적으로 바꿀 수 있음.