你好,我了解到继承发生在原型中。我不明白的是,我们创建一个简单的数组
const arr = [2, 4];
现在,为什么Array.hasOwnProperty('length');
在这里返回true
。 length
属性应该被继承,因此它应该在原型中而不是在其自己的属性中。
为什么length
是例外?
答案 0 :(得分:0)
每个数组都有自己的length
属性,因为每个数组可以有不同的长度。即使所有数组都有一个,它也不是继承的方法(因为它根本不是方法),也不是继承的getter / setter方法,这是在构造数组实例期间创建的魔术属性。