1.替代数组的apply方法
由于扩展运算符可以展开数组,所以不再需要apply方法,将数组转为函数的参数了。
ES5写法
var arr=[1,2,3];
function f2(x,y,z){
console.log("ES5:"+x);
console.log("ES5:"+y);
console.log("ES5:"+z);
}
f2.apply(null, arr);
//ES6写法
var arr=[1,2,3];
function f1(x,y,z){
console.log(x);
console.log(y);
console.log(z);
}
f1(...arr);
2.扩展运算符(…)可以用于函数多参数的调用
function add(x,y){
return x + y;
}
var numbers = [3,7];
console.log(add(...numbers)); //10
3.与正常参数函数结合使用
function f(a,b,c,d,e){
console.log(a,b,c,d,e)
}
var number = [1,2];
f(0,...number,...[3,4]) //0 1 2 3 4
4.合并数组
//ES5
var arr1=[0,1,2];
var arr2=[3,4,5];
Array.prototype.push.apply(arr1,arr2);
console.log(arr1);//[ 0, 1, 2, 3, 4, 5 ]
//ES6写法
var arr3=[0,1,2];
var arr4=[3,4,5];
arr3.push(...arr4);
console.log(arr3);//[ 0, 1, 2, 3, 4, 5 ]