所以我在 V8 控制台上玩了很多,而且我做到了
Object.getOwnPropertyNames([])
我希望得到 []
结果,但是 ["length"]
这意味着 length
不是原型(prototype)链的一部分,而是所有 Array
对象的成员属性。
这是一个错误,还是有任何设计或特定原因 length
不是原型(prototype)链的一部分?
最佳答案
原型(prototype)属性在对象之间共享。因此,如果将 length 放在原型(prototype)上,则所有数组对象将具有相同的长度,这是错误的。长度表示当前数组中元素的数量,并且应该保留为 self 的属性。
关于javascript - 为什么 length 是 `Array` 的属性而不是 `Array.prototype` 链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48020958/