扩展运算符
相当于rest方法的逆运算,把数组转换为逗号隔开的参数列表。
function fn(x, y, z) {
console.log(x, y, z);
}
var arr = [1, 2, 3];
fn(...arr);
eg1:复制数组
var arr1 = [1,2,3];
var arr2 = [...arr1];
console.log(arr2);
浅拷贝:
var arr1 = [1,2,3];
var arr2 = arr1;
arr1[0] = 10;
console.log(arr2);
使用...扩展运算符,为深拷贝:
var arr1 = [1,2,3];
var arr2 = [...arr1];
arr1[0] = 10;
console.log(arr2);
eg2:合并数组
var a = [1,2,3];
var b = [4,5,6];
var c = [7,8,9];
// ES5
// var d = a.concat(b,c);
// ES6
var e = [...a,...b,...c];
console.log(e);
eg3:解构赋值
let[a,b,...args] = [1,2,3,4,5];
eg4:用于字符串
let arr = [..."hellow"];
console.log(arr);
扩展运算符适用于所有的类数组集合(实现了遍历接口的数据类型)