Front-end/JavaScript
JS 프로토타입 2편 - 상속
파리외 개발자
2023. 1. 22. 18:24
JS의 상속
JS는 프로토타입 속성과 프로토타입 객체를 통해 상속을 구현한다.
기본적인 문법은 (상속받을 개체).__proto__ = (상속하는 개체) 이지만
ES5에 Object.create가 새로 추가되면서 더 가독성 있게 상속을 구현할 수 있게 되었다.
이외에 클래스 extend를 사용한 상속 등 여러 방식이 있지만 여기선 create메서드만을 다루겠다.
Object.create()
let human = {
mortal: true,
};
let socrates = Object.create(human);
socrates.age = 70;
소크라테스 객체는 human객체를 상속받으며, age속성을 추가했다.
소크라테스 객체는 age속성을 가지는 것으로 나온다.
객체 자체에는 mortal속성이 나오지 않았지만,
상속받은 mortal속성 또한 접근이 가능하다.
isPrototypeOf로 상속관계를 확인하면 제대로 상속이 돼있다는 것을 알 수 있다.