ES5はにいくつかのメソッドを追加しましたがObject、これはJavaScriptのセマンティックの一貫性を損なうようです。
たとえば、この拡張機能の前は、JavaScriptAPIは常にオブジェクト自体の操作を中心に展開していました。
var arrayLength = [].length;
var firstPosInString = "foo".indexOf("o");
...新しいObjectメソッドは次のようになります。
var obj = { };
Object.defineProperty(obj, {
value: 'a',
writable: false
});
...次の方がはるかに適合している場合:
var obj = { };
obj.defineProperty({
value: 'a',
writable: false
});
なぜこれなのかという私の好奇心を冷やすことができますか?これが壊れるコードスニペットはありますか?なぜこのアプローチを選んだのかについて、標準化委員会によって行われた公開討論はありますか?