与えられる二つのクラス公開:ExampleWrapper例のインスタンスを取得し、さらなる機能(Decoratorパターン)を得るためにそれをラップはJavaScriptでオブジェクトを飾ると同じシグネチャを
function Example(){
this.methodOne = function(/* some args */){...};
this.methodTwo = function(/* some args */){...};
this.methodThree = function(/* some args*/){...};
}
function ExampleWrapper(example){
this.functionFour = function(...){...};
this.wrapped = example;
}
を。
ExampleWrapperのインスタンスから、各関数を手動で定義する必要なく、Exampleの各関数を呼び出せるようにしたいと考えています。 は私が意味する、私は、例の各機能のために、やるExampleWrapper
function ExampleWrapper(example){
...
this.methodOne = function(/* some args */){
return this.wrapped.methodOne(/* same some args*/);
}
...
}
、その後
var ex = new Example();
var wrap = new ExampleWrapper(ex);
wrap.methodOne(...)
に次が、それはきちんとした/非常にescalableではありませんでした。
どうすればいいですか? [推測の反射は行く方法かもしれないが、まだそれを使用するために使用されていない]
[プロキシ](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Proxy)をご覧ください。しかし、まずコードが必要なところでサポートされているかどうかを確認してください(http://caniuse.com/#search=proxy)。 – GolfWolf
2つのインスタンス間の 'Object.setPrototypeOf'はどうでしょうか? –