ES6 引入 rest 参数,用于获取函数的实参,用来代替 arguments
arguments
- 箭头函数没有arguments
- arguments包含所有参数
- arguments获取实参返回伪数组,不能使用数组方法
rest
- rest是参数的表现形式,需要结合扩展运算符(...),语法: ...变量名
- rest参数只包括那些没有给出名称的参数,也叫剩余参数
- rest获取参数返回数组,可以使用数组方法
- rest参数必须放到形参最后
//ES5 arguments获取实参方式,返回伪数组
function fn(){
console.log(arguments);
}
fn('a','b','c');
//rest获取实参,返回数组
function fn(...lyc){
console.log(lyc);
}
fn('a','b','c');
//rest参数必须要放到参数最后
function fn(a,b,...lyc){
console.log(a); //1
console.log(b); //2
console.log(lyc); //3,4,5,6
}
fn(1,2,3,4,5,6);