팩토리 함수를 활용한 Object.create
JavaScript
/**
* -------------------------------------------------------
* Object.create() 를 지원하지 않는
* 브라우저를 위한 크로스 브라우징 메서드 정의
* -------------------------------------------------------
*/
var objectCreate = function ( arg ) {
if(!arg) { return {}; }
function obj() {}
obj.prototype = arg;
return new obj;
};
Object.create = Object.create || objectCreate;
var proto = {
sentence : 1,
probation : 2
};
var makePrisoner = function (name, id) {
var prisoner = Object.create(proto);
prisoner.name = name;
prisoner.id = id;
return prisoner;
}
var first = makePrisoner('jaehee', 'sksk');
var second = makePrisoner('aion', 'ckckck');
Jaehee's WebClub
'JavaScript > JS 객체지향 프로그래밍' 카테고리의 다른 글
클래스 기반(일반 언어)과 프로토타입(자바스크립트) 기반 비교 (0) | 2016.09.29 |
---|---|
절차 지향 방식에서 객체지향 방식(함수기반 클래스,프로토타입방식 클래스) 으로 리팩토링하기 (0) | 2016.09.29 |
싱글톤(singleton) 패턴 (0) | 2016.09.29 |
네임스페이스 패턴(namespace pattern) (0) | 2016.09.29 |
자바스크립트 네임스페이스 패턴 - namespace pattern (1) | 2016.09.29 |