1. 프로토타입
자바스크립트의 모든 객체는 자신의 부모 객체와 연결되어 있습니다.
좀더 정확히 말하자면 부모 객체의 원형(부모 객체의 프로토타입)
객체 지향에서의 상속 개념처럼 부모 객체의 프로퍼티나 메소드를 상속 받아 쓸 수 있습니다.
실제로는 상속 보다 위임에 가깝지만 통상적으로 상속으로 표현합니다.
부모 객체를 프로토타입 객체, 혹은 프로토타입이라고 부릅니다.
그리고 부모 객체를 참조하는 걸 프로토타입 링크라고 합니다.
2. 프로토타입 예시
let animal = {
leg: 4,
legCount() {
console.log(this.leg);
}
};
let cat = {
__proto__:animal,
cute: true,
};
cat.legCount();
console.log(cat.leg);
console.log(cat.cute);
console.log(animal.cute);
__proto__ 를 써서 접근하는 방식은 구식 방식으로 현재는 deprecated 되어있지만 누군가에게 설명하거나 면접자리에서는 아직 나오는 단어들이기 때문에 직접 접근하는 방식을 알아두는 편이 좋습니다.
가급적 Object.getPrototypeOf()를 이용하여 참조하고, 프로토타입 체인에 연결하는 Object.create()를 이용하여 연결합시다.