hmk run dev

프로토 타입이란? 본문

React

프로토 타입이란?

hmk run dev 2021. 3. 26. 12:26

객체는 함수로 만들어지며

자바스크립트의 모든객체는 프로토타입을 가지고 있다

 

자바스크립트의 모든 객체는 자신의 부모 객체와 연결되어 있어요. 좀 더 정확히는 부모 객체의 원형하고요!(부모 객체의 프로토타입) 마치 객체 지향에서의 상속 개념처럼 부모 객체의 프로퍼티나 메소드를 상속받아 쓸 수 있고요. (실제로는 상속보다 위임에 가깝다고 하지만, 통상적으로 상속한다고 표현해요.) 이런 부모 객체를 프로토타입 객체, 혹은 그냥 프로토타입이라고 부릅니다. 그리고 부모 객체를 참조하는 걸 두고 프로토타입 링크라고 해요.

 

// animal이라는 객체를 하나 만들었습니다!
let animal = {
	leg: 4,
	legCount() {
		console.log(this.leg); // this는 animal을 의미합니다.
	}	
};

// 또 다른 객체 cat을 만들었고요!
// animal을 프로토타입 상속 받아올 거예요. (__proto__를 씁니다.)
let cat = {
	__proto__:animal, // cat의 프로토타입은 animal!
	cute: true,
};

// 프로토타입을 설정해주어서 cat은 animal의 메소드와 프로퍼티를 사용할 수 있어요.
cat.legCount();
console.log(cat.leg);

// cat만 가지고 있는 프로퍼티도 있고요!
console.log(cat.cute);
// animal은 cat의 속성을 가져올 수 없어요!
console.log(animal.cute);
Comments