一 剩余参数
1.认识剩余参数
const add=(x,y,z,...args)=>{}
2.剩余参数的本质
const add=(x,y,...args)=>{
console.log(x,y,args);
}
add()
add(1)
add(1,2)
add(1,2,3,4,5,6,7)
剩余参数永远是个数组,即使没有值,也是空数组
3,4,5->[3,4,5]
二 剩余参数的注意事项
1.箭头函数的剩余参数
箭头函数的参数部分即使只有一个剩余参数,也不能省略圆括号
const add=(...args)=>{}
2.使用剩余参数替代arguments获取实际参数
const add=function(){
console.log(arguments);
}
const add=(...args)=>{
console.log(args);
}
add(1,2)
3,剩余参数的位置
剩余参数只能是最后一个参数,之后不能再有其他参数,否则会报错
const add=(x,y,...args)=>{
console.log(args);
}
三 剩余参数的应用
1.完成add函数
const add=(...args)=>{
let sum=0
for(let i=0;i<args.length;i++){
sum+=args[i];
}
return sum;
}
console.log(add());
console.log(add(1,1));
console.log(add(1,2,3));
2.与解构赋值结合使用
剩余参数不一定非要作为函数参数使用
const [num,...args]=[1,2,3,4];
//必须是最后一个
const [...args,num]=[1,2,3,4]
console.log(num,args);
const func=([num,...args])=>{}
func([1,2,3])
const {x,y,...z}={a:3,x:1,y:2,b:4}
console.log(x,y,z);
const func=({x,y,...z})=>{
console.log(x,y,z);
}
func({a:3,x:1,y:2,b:4})