1、函数调用
let arr=[1,2,3]
function get(x,y,z){
console.log(x,y,z)
}
get(...arr); //es6 只有函数调用的时候,才可以放在小括号里面
get.apply(null,arr); //es5 1 2 3
2、放置表达式
let a=1;
const arr=[...(a>0 ? ['a'] : ['b']),'c'];
console.log(arr); //(2) ["a", "c"]
let b=[...[],1];
console.log(b)//[1] 注意 ...[] 和没写是一样的 只有函数调用的时候才可以放在小括号里面
3、代替apply
(1)、连接两个数组
var a=[1,2,3];
let b=[4,5,3];
console.log(a.concat(b)); // es5:(6) [1, 2, 3, 4, 5, 3]
Array.prototype.push.apply(a,b) //apply (6) [1, 2, 3, 4, 5, 3]
console.log(a)
console.log([...a,...b]);//es6 [1, 2, 3, 4, 5, 3]
(2)、取最大值
let a=[1,2,3];
console.log(Math.max.apply(null,a));//ES5 3
console.log(Math.max(...a)); //ES6 3