JavaScript类数组对象的定义
一个拥有length属性(本质特征)和若干索引属性的对象就可以被称为类数组对象。类数组对象和数组类似,但是不能调用数组的方法。
常见的JavaScript类数组对象
- arguments对象
- DOM NodeList对象
类数组转换为数组的方法
- 通过call调用数组的slice()方法来实现转换
Array.prototype.slice.call(arrayLike); - 通过call调用数组的splice()方法来实现转换
Array.prototype.splice.call(arrayLike, 0); - 通过apply调用数组的concat()方法来实现转换
Array.prototype.concat.apply([], arrayLike); - 通过Array.from()方法来实现转换
Array.from(arrayLike); - 通过拓展运算符来实现转换
拓展:
对于那些没有部署Iterator接口的类似数组的对象,扩展运算符就无法将其转为真正的数组。