什么是arguments?
arguments是一个存放着函数接收到所有参数的类数组对象
但是它不是一个数组所以无法使用数组的api例如过滤器filter。
可以通过以下三种方法将arguments转化为数组
方法一:通过循环将arguments中的值传入新的数组中
let argList = []
for (const i of arguments) {
argList.push(i)
}
方法二: 通过es6中Array.from方法直接将对象转化为数组
argList = Array.from(arguments)
argList = arguments(…args)
方法三: 在Array.from没出现的方法
let argList1 = [].slice.apply(arguments)
什么是rust?
rust是es6出现后取代arguments的替代品
在箭头函数中没有arguments这一属性
通过rust可以直接接收剩余参数
例:
function foo(num1,num2,...args){
console.log(args);
}