次のように定義された JavaScript オブジェクトがあります。
var Object = (function () {
function Object() {
this.id = RandomNumber();
}
// Custom Object.prototype / Object impementations here...
return Object;
})();
問題は、これが構築されると、元の機能Object.defineProperty
などを失うことです。
アイデアは、既存のプロトタイプを書き直したり上書きしたりするのではなく、オブジェクトの基本機能を拡張したいということです。
これはどのように達成できますか?
編集:明確にするために、元の機能に影響を与えることなくこれを実行できることを知っています:
Object.prototype.foo = function() { }
しかし、オブジェクトのコンストラクターに機能を具体的に追加する必要があります。つまり、
function Object() { this.id = 0; }
新しい機能が元の機能を上書きしてはなりません。