본문 바로가기

Study/JavaScript

[JavaScript] 객체지향3. Object.create() : 간단하게 부모 속성 상속받기

#0. Object.create()

- ES5에서 도입된 상속을 쉽게 구현하는 방법

- 사용법은 다음과 같다.

Object.create(상속받고싶은Object);

 

#1. 사용해보기

1. 복사하고싶은 object 생성

2. Object.create(상속받고싶은Object) 사용하여 자식 인스턴스 생성하면 된다!  (다른 상속 방법에 비해)왕간단!

// 1. 복사하고싶은 object 생성
var parent = { name: "Kim", age: 50 };

// 2. Object.create(상속받고싶은Object) 사용하여 자식 인스턴스 생성
// >> parent가 가진 name, age를 그대로 물려받은 자식 object를 만들어짐
var child = Object.create(parent);

// 2-1. 진짜 상속 되었는지 검사해보기.. 
child.__proto__ // 출력결과 >> {name: 'Kim', age: 50}
console.log(child.name); // 출력결과 >> Kim

// 3. child에 값을 추가하고싶다면? >> object에 값 추가하듯이 넣음
child.age = 20;

// 4. 이제 child의 age는 무엇이 될까? 
// 가장 가까운 값을 찾아 출력하는거라, 나에게 age가 있으면 그거 출력
console.log(child.age); // 출력결과 >> 20