一.类型
1. arguments并不是数组,而是一个类数组对象,它包含length属性。我们可以通过Array.prototype.slice.call(arguments)将获取对应真实数组。
arguments instanceof Array //false
arguments instanceof Object //true
2. rest是一个真实数组。
rest instanceof Array //true
3. 万物皆对象。
rest instanceof Object //true
Array instanceof Object //true
二.参数
1. arguments是参数的类数组化表现,它包含所有可用参数。
2. rest是非定义的多余变量数组。
function Test(x, ...rest){
arguments.length; //3
rest.length; //2
}
Test(1, 2, 3);