프로토 타입 메서드
객체에 상속을 추가해주는 __proto__ 는 예전 방식이므로 사용을 지양하는 것이 좋음
__proto__ 대신 아래의 프로퍼타입 메서드를 사용하여 상속받을 객체를 추가
- Object.create(obj, [descriptors]) : [[Prototype]]이 obj를 참조하는 새로운 빈 객체를 만듬. 이때 프로퍼티 설명자를 추가로 넘길 수 있음.
- Object.getPrototypeOf(obj) : obj의 [[Prototype]]을 반환합니다.
- Object.setPrototypeOf(obj, proto) : obj의 [[Prototype]]이 proto가 되도록 설정합니다.
let parentsObj = {
a:1
}
//parentsObj를 상속받는 createObj를 생성
let createObj = Object.create(parentsObj);
//getPrototypeOf 를 사용해 createObj의 프로토 타입을 반환해
//createObj 가 parentsObj를 참조하는것을 알 수 있음
console.log(Object.getPrototypeOf(createObj) === parentsObj);
let setObj = {}
//setPrototypeOf를 사용하여 setObj가 createObj를 상속받게 함
Object.setPrototypeOf(setObj,createObj);
//true
console.log(Object.getPrototypeOf(setObj) === createObj);
참조: https://ko.javascript.info/prototype-methods
'JavaScript > JavaScript기초' 카테고리의 다른 글
[Javascript] 클래스 상속 (0) | 2021.10.01 |
---|---|
[Javascript] 클래스 (0) | 2021.09.30 |
[Javascript] 함수의 prototype (0) | 2021.09.29 |
[Javascript] 프로토타입 상속 (0) | 2021.09.29 |
[Javascript] 프로퍼티 getter/setter (0) | 2021.09.28 |