JavaScript中的类型化数组不是数组

时间:2015-05-04 19:07:36

标签: javascript arrays

var a = Int32Array(10);
console.log(Array.isArray(a)); // prints false to the console (Firefox)

为什么类型化的JavaScript数组不是数组,或者这是一个需要报告的错误?

1 个答案:

答案 0 :(得分:1)

不,typed arrays不是数组,它不需要报告。

他们是一组具有不同功能的非常独特的对象。在规范中,他们将described作为

的对象
  

呈现基础二进制数据缓冲区的类似数组的视图

不要混淆他们的一个很好的理由:他们甚至不提供你在数组上的功能,例如splice

它也没有遵循Array.isArray的规范,因为它不是"Array object",因为可以通过使用括号表示法将值设置在超出范围索引来验证并检查length是否已更改。