2016-09-09 23 views
-1

複数のオブジェクトを1つのオブジェクトにマージしたい。私はここでフィーバーを持っています:http://www.es6fiddle.net/isvfozdu/これは私が達成しようとしていることを示しています(以下のコードも同様です)。2つのオブジェクトをメソッドを含む1つのオブジェクトにマージする方法

私は、動作するはずのように見えますが、最終的にはそうではないようなデコレータパターンを使いました。

私が解決しようとしている問題は、その属性によって異なる機能を持つ単一のオブジェクトであり、すべての機能が潜在的に危険です。

ありがとうございます!

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

関連する問題