es6中扩展运算符和rest参数的用法

rest参数

形式为(…变量名),用于获取函数的多余参数,生成一个数组,这样就不需要使用arguments对象了。

1
2
3
4
5
6
7
8
9
10
11
function (...params){
console.log(params)
}

input(1,2,3,4)

function input2(a,b,...params){
console.log(params)
}

input2(1,2,3,4) //[3,4]

扩展运算符

扩展运算符(spread)是三个点(…)。好比是rest参数的逆运算,将一个数组转为用逗号分割的参数序列。

1
2
3
4
5
6
function foo(a,b,c){
console.log(a); //1
console.log(b); //2
console.log(c); //3
}
foo(...[1,2,3]);