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로 상속관계를 확인하면 제대로 상속이 돼있다는 것을 알 수 있다.
'Front-end > JavaScript' 카테고리의 다른 글
JS 프로토타입 4편 - prototype객체와 __proto__속성 (0) | 2023.01.23 |
---|---|
JS 프로토타입 3편 - prototype chain (1) | 2023.01.23 |
JS 프로토타입 1편 - 프로토타입 상속 (0) | 2023.01.21 |
JS 클로저 6편 - 클로저 사용 이유(메모리 절약 & 캡슐화)와 호이스팅 (1) | 2023.01.21 |
JS 클로저 5편 - Closure(함수 커링에서의 클로저 현상) (0) | 2023.01.16 |