比如[...document.getElementsByTagName('div')]直接转成[].concat(document.getElementsByTagName('div'));前面在浏览器运行是把NodeList转成数组,后面是直接插入到数组里面- -。有没有搞错哇,那怎么办呢。我用的是babel-preset-env 2.0.0-alpha.16版本配合webpack的。
1 回答
慕的地10843
TA贡献1785条经验 获得超8个赞
在浏览器里面 [...by('div')] 解构出来也是数组啊。
感觉babel转换没有问题呢!
//浏览器
var a = [...by('div')];
a.slice //function 说明解构以后,a是真数组。
//babel
var c = [].concat(by('div'));
c.slice //function 这里concat后把div全部放到c[0]中了,所以只能用 Array.from(document.getElementsByTagName('div'))
//不解构是NodeList假数组
var b = by('div');
b.slice //undfined 说明解构之前是类数组
添加回答
举报
0/150
提交
取消