var o = new SomethingComplex;
var o.foo = new SomeThing; // we have o.foo.doSomething
setUpForwarding(o, o.foo);
o.doSomething(); // calls o.doSomething if exist, else o.foo.doSomething
目立たないメソッド転送を設定するにはどうすればよいでしょうか? ES5 の手法を使用してもまったく問題ありません。これはIE6では不可能だと想像できます
o.call("doSomething");
完全に控えめにしたいような方法を探しているわけではありません。
.__proto__
また、プロトタイプ チェーンを投入できるように編集することo.foo
は不正行為であり、許可されていません。自然なプロトタイプ チェーンでの上書きo
は許可されますが、複雑さの制限はありません。o.foo
o
実行可能なオプションは残っていますか?
node.jsを拡張してプロキシを実装できるnode-proxyの存在を覚えています(C ++で実装)。これは包括的な機能を提供し、おそらく他の SS JS に移植できます。