자바스크립트에서 객체를 상속하는 방법은 몇 가지 존재합니다. 이 중에서 Object 객체의 create() 함수를 사용한 객체 확장, 상속에 대하여 알아봅니다. create()은 EC5에서 표준화된 객체의 상속 방법입니다.


# 자바스크립트 create() 객체상속 예제보기


만약 아래와 같은 생성자 함수를 사용하여 객체상속을 만든다고 생각해봅니다.

function Mysite(name) {
this.name = name;
}

이때 생성자함수 Myste를 사용하여 상속받기 위하여 create() 함수를 사용해보겠습니다.

webisSite = Object.create(Mysite.prototype);
webisSite.name = 'webisfree.com';

이제 webisSite는 create() 함수를 사용하여 상속 받았습니다.


# 객체 상속이 아닌 빈객체 만들기
참고로 넘기는 파라미터 값이 null값인 경우 빈 객체를 생성할 수 있습니다. 아래 변수는 빈객체를 가지게됩니다. 
myObject = Object.create(null);


# create() 크로스 브라우징 문제 해결

EC5은 IE 9 이상만 지원하기 때문에 만약 호환되지 않는 환경의 경우 아래와 같이 추가할 수 있습니다.
if (typeof Object.create !== "function") {
Object.create = function (proto, propertiesObject) {
if (!(proto === null || typeof proto === "object" || typeof proto === "function")) {
throw TypeError('Argument must be an object, or null');
}
var temp = new Object();
temp.__proto__ = proto;
Object.defineProperties(temp, propertiesObject);
return temp;
};
}

출처 바로가기 > https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create