babel转es5好多坑啊,比如...解构

比如[...document.getElementsByTagName('div')]直接转成[].concat(document.getElementsByTagName('div'));
前面在浏览器运行是把NodeList转成数组,后面是直接插入到数组里面- -。有没有搞错哇,那怎么办呢。
我用的是babel-preset-env 2.0.0-alpha.16版本配合webpack的。

阅读 3.1k
1 个回答

在浏览器里面 [...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 说明解构之前是类数组
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏