为什么数组具有给定的属性长度,为什么它不在原型中?

时间:2018-06-23 09:11:27

标签: javascript properties prototype

你好,我了解到继承发生在原型中。我不明白的是,我们创建一个简单的数组

const arr = [2, 4];

现在,为什么Array.hasOwnProperty('length');在这里返回truelength属性应该被继承,因此它应该在原型中而不是在其自己的属性中。 为什么length是例外?

1 个答案:

答案 0 :(得分:0)

每个数组都有自己的length属性,因为每个数组可以有不同的长度。即使所有数组都有一个,它也不是继承的方法(因为它根本不是方法),也不是继承的getter / setter方法,这是在构造数组实例期间创建的魔术属性。