(自用面试题)JavaScript类数组对象是什么?类数组对象转化成数组如何实现?

89 阅读1分钟

JavaScript类数组对象的定义

一个拥有length属性(本质特征)和若干索引属性的对象就可以被称为类数组对象。类数组对象和数组类似,但是不能调用数组的方法。

常见的JavaScript类数组对象

  1. arguments对象
  2. 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接口的类似数组的对象,扩展运算符就无法将其转为真正的数组。