是Javascript中的约定/规范:
如果我们没有为数组a
的负索引分配任何内容,比如索引-1
,则a[-1]
将始终返回undefined,其对象键和长度保持不变?
答案 0 :(得分:2)
这是一个约定/规范[...]
a[-1]
将始终返回undefined [?]
不,不,不是:
var a = [];
a[-1] = 'foo';
console.log(a[-1]);
但是,这确实不会改变数组的length
属性,因为只有整数> = 0的属性才被认为是数组索引的一部分;您在对象上设置的任何其他属性(包括.foo
,.bar
和[-1]
都不会被视为数组索引。