JavaScript/JavaScript기초
[Javascript] 프로토타입 메서드
박남수
2021. 9. 30. 10:35
프로토 타입 메서드
객체에 상속을 추가해주는 __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