最近、ECMAScript 5でのプロパティの定義が変更されたため、ネイティブJavaScriptプロトタイプを安全に拡張できるかどうかという問題を再検討しました。実のところ、私はずっとArrayやFunctionのようなプロトタイプを拡張してきましたが、明らかな理由から、Objectではそうすることを避けました。Jasmineを使用した単体テストでは、Object.prototypeの仕様を自分の個人的なフレームワークの仕様に追加し、列挙できない関数でObject.prototypeを拡張します。安全であるように見えました。ただし、「タイプ」プロパティのようなデータプロパティと、異常な処理を行うゲッター/セッターは、意図しない結果をもたらしました。他のライブラリと競合する可能性はまだありますが、私の仕事では、それはほとんど発生しません。それでも、関数が列挙できない限り、Object.prototypeを拡張しても安全であるように見えます。
どう思いますか?Object.prototypeを今すぐ拡張しても安全ですか?話し合ってください。