ES6引入rest参数,用于获取函数的实参,用来代替arguments;
下面对比一下ES5和ES6获取实参的方式:
1.ES5获取实参的方式:
function date() {
console.log(arguments)
}
date('白芷','丁香','芍药')
控制台打印,可以看出arguments是一个对象,称作类数组,没有数组的方法和属性。
2.ES6 rest参数
function date(...args){
console.log(args)
}
date('白芷','思慧','芍药')
控制台打印,可以看出args是一个数组,他有数组的方法和属性;
最后,需要注意的是rest参数必须要放到参数最后:
function fn(a,b,...args){
console.log(a)
console.log(b)
console.log(args)
}
fn(1,2,3,4,5)
既然args是数组,那么他就可以使用数组的map/filter等方法对数据进行筛选等。