【发布时间】:2022-01-02 01:20:53
【问题描述】:
ES5 在methods 中添加了methods 的number 到Object,这似乎打破了JavaScript 的语义一致性。
例如,在此扩展之前,JavaScript API 始终围绕在对象本身上操作;
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
});
谁能冷静我的好奇心,为什么会这样?是否有任何代码 sn-ps 这会破坏?标准委员会是否就他们为什么选择这种方法进行了公开讨论?
【问题讨论】:
标签: javascript ecmascript-5 consistency