다음과 같은 객체가 있다고 가정합니다.ES5 Object.create 및 객체 리터럴 구문을 사용하여 생성자를 에뮬레이트하는 방법
var Foo = {
x: 5,
sprite: new Image()
}
문제 : 해당 src로 해당 스프라이트를 초기화하고 싶습니다. 그러나, 다음과 같은 생성 기술을 사용할 때 :
var f = Object.create(Foo);
xtx37 sprite.src = 'cool.png';
내 생성자 메서드 (일명 init 함수)가 없습니다. 내 질문 :
개체를 사용하고있는 경우 리터럴 테크닉, Object.create()
, 실제로 내 내부 상태 (예 : new Image()
의 예)를 초기화 할 때
내 솔루션 :
var Foo = {
create: function() {
var f = Object.create(Foo);
f.sprite.src = 'cool.png';
return f;
}
}
그러나 위대한 패턴인지는 모르겠다. . 방법이 있다면 나는 이것을 "JavaScript Way"라고하고 싶습니다. :)
고마워!
개체 시스템의 단순성을 활용보다는 오히려 코드 단지를 만들 것 같다. – ChaosPandion