본문 바로가기

JavaScript/JavaScript기초

[Javascript] 프로토타입 메서드

프로토 타입 메서드

객체에 상속을 추가해주는 __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