これがどこかで答えられたら申し訳ありませんが(おそらくそうです)、適切に質問する方法さえよくわからないので、検索に失敗しました:(
基本的に私はこのようなことをしたいです:
(a||b).prototype.c = function () {
// do something
}
基本的にaとbはオブジェクトです。どちらか一方が存在しますが、両方は存在しません。どちらが存在するかはわかりませんが、どちらにメソッドを追加する必要があります。
今、私はこのようなことをすることができることを知っています:
if (typeof(a) == 'object') {
a.prototype.c = c;
} else if (typeof(b) == 'object') {
b.prototype.c = c;
}
function c () {
// do something
}
しかし、これにはグローバルレベルで独自の名前空間を持つcの問題があり、私はそれを望んでいません。cにグローバルレベルで独自の名前空間を持たせたくありません。
すっごく...明らかに、上記のコードの最初のビットは機能しません。どうすればいいですか?それとも、このようなことは単に不可能ですか?これが以前に答えられたならば、遠慮なく閉じて、正しい方向に私を向けてください...