es6扩展运算符,也就是... ,作用是将一个数组转为用逗号分隔的参数序列。
那么问题来了,我们为啥要用这么奇怪的东东涅,当然因为它能大大提高我们的开发效率。所以,可别小看这三个点。
1.复制数组(假如数组元素都是基本数据类型)。
在es5时代,要想复制数组,最容易想到的是通过for循环一个一个push,或者来个slice()的,现在有了扩展运算符,直接一步搞定:
var arr = [1,2,3,4,5]; var copy = [...arr]; copy // [1,2,3,4,5]; arr === copy //false
当然了,合并数组也可以不用concat()了 ,直接扩展运算符搞定。
2.将类似数组的对象转换为真正的数组
任何类似数组的对象可以用扩展运算符转换为真正的数组。比如:
var nodeList = document.querySelectorAll('div'); var array = [...nodeList]; Array.isArray(array) //true
var str = 'hello';
var aStr = [...str];
Array.isArray(aStr) //true