ES6 引入 rest 参数(形式为“...变量名”),用于获取函数的多余参数,这样就不需要使用 arguments 对象了。rest 参数搭配的变量是一个数组,该变量将多余的参数放入数组中。
注意,rest 参数之后不能再有其他参数(即只能是最后一个参数),否则会报错。
扩展运算符(spread)是三个点(...)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。该运算符主要用于函数调用。
如果将扩展运算符用于数组赋值,只能放在参数的最后一位,否则会报错。
示例:
//rest
function sum(...numbers) {
return numbers.reduce((prev, current) => prev + current);
}
console.log(sum(1,2,3));
//输出6
//spread
let nums = [1,2];
console.log(sum(...nums));
//输出3