转换类似Array的对象,Array.prototype.slice或Array.from

the*_*ian 4 javascript

我知道有两种方法可以将类似Array的对象转换为Array.

  1. Array.prototype.slice.call(arguments)
  2. Array.from(arguments)

我想知道它们之间的区别是什么,我应该使用哪一个来转换类似数组的对象.

wor*_*rld 6

Array.prototype.slice.call一直是将类数组对象转换为数组的长期机制.如果您正在寻找浏览器兼容性,请使用此功能(虽然看起来在IE8及更低版本的某些旧版浏览器上这根本不起作用).

Array.from在2015年6月引入了ECMA6.它完成了与先前机制相同的事情,只是以更流畅和简洁的方式.此外,Array.from可以将更多结构转换为数组,例如生成器.

了解array.from