◼ ES6中引用了rest parameter,可以将不定数量的参数放入到一个数组中:
如果最后一个参数是... 为前缀的,那么它会将剩余的参数放到该参数中,并且作为一个数组;
◼ 那么剩余参数和arguments有什么区别呢?
剩余参数只包含那些没有对应形参的实参,而arguments 对象包含了传给函数的所有实参;
arguments对象不是一个真正的数组,而rest参数是一个真正的数组,可以进行数组的所有操作;
arguments是早期的ECMAScript中为了方便去获取所有的参数提供的一个数据结构,而rest参数是ES6中提供并且希望以此来替代arguments的;
◼ 剩余参数必须放到最后一个位置,否则会报错。
```JavaScript
<!-- 剩余参数:rest parameters -->
function foo(num1,num2,...otherNums){
console.log(arguments)
console.log(otherNums)
}
foo(20,30,40,50,60)
// 默认一个函数只有剩余参数
function bar(...args){
console.log(args)
}
bar("abc",123,"cba",222)
// 注意事项:剩余参数需要写在剩余参数的后面
```