2016-09-09 5 views
-1

ES6 구문을 사용하는 메소드를 포함하여 여러 객체를 단일 객체로 병합하고 싶습니다. 나는 여기 피들 (fiddle)을 가지고있다. http://www.es6fiddle.net/isvfozdu/은 내가 달성하고자하는 것을 보여준다.어떻게 두 개의 객체를 하나의 객체로 병합 할 수 있습니까?

나는 그들이 일해야하지만 궁극적으로는하지 않는 데코레이터 패턴으로 놀랐습니다.

내가 해결하려고하는 문제는 특성에 따라 다른 기능을 가진 단일 개체이며 모든 기능이 잠재적으로 해롭다는 점입니다.

감사합니다!

class A { 
    hi(){ 
    console.log('hi'); 
    } 
} 

class B { 
    bye(){ 
    console.log('bye'); 
    } 
} 

class C { 
    hello(){ 
    console.log('hello'); 
    } 
} 

// x = A & B, not C 

x.hi(); 
x.bye(); 
x instanceof A // true 
x instanceof B // true 
x instanceof C // false 

// y = A & C, not B 

y.h1(); 
y.hello(); 
y instanceof A // true 
y instanceof B // false 
y instanceof C // true 

여기 아이디어는 당신이 프로토 타입 체인을 필요로 알고있는 것처럼 A.

let a = new A(); 

if(a.isEnabled){ 
    let b = new B(); 
    magicFunctionOrSomething(a, b); 
} 

a.bye(); 
+0

질문 **에 관련 코드 **를 포함시켜야합니다. – Amit

+1

변경됨. 감사합니다 Amit – Bradley

+0

좋습니다. 이제 유스 케이스를 설명 할 수 있습니까? – Amit

답변

-2

의 인스턴스의 특성에 따라 다른 하나 개의 클래스의 기능을 추가하는 것입니다. 링크로 MDN 설명을 참조하십시오. 사용법의 첫 번째 예는 간단하며 도움이 될 수 있습니다. MDN

관련 문제