【发布时间】:2017-03-25 16:44:54
【问题描述】:
使用Array.from(document.querySelectorAll('div')) 或[...document.querySelectorAll('div')] 有区别吗?
这是一个例子:
let spreadDivArray = [...document.querySelectorAll('div')];
console.log(spreadDivArray);
let divArrayFrom = Array.from(document.querySelectorAll('div'));
console.log(divArrayFrom);
console.log() 将记录相同的结果。
有任何性能差异吗?
【问题讨论】:
-
扩展运算符的好处是它支持
Object。性能.. idk -
要了解是否存在任何性能差异,请运行基准测试。根据您是在原生 ES6 环境中还是转译到 ES5,结果可能会大不相同。
-
主要区别在于
Array.from可用于不实现迭代器协议的类数组对象(即Symbol.iterator)。即使有了 ES6 和新的浏览器规范,这些规范也越来越少。
标签: javascript arrays ecmascript-6