​arguments​​​对象是函数中传递的参数值的集合。它是一个类似数组的对象,因为它有一个length属性,我们可以使用数组索引表示法​​arguments[1]​​​来访问单个值,但它没有数组中的内置方法,如:​​forEach​​​、​​reduce​​​、​​filter​​​和​​map​​。

我们可以使用​​Array.prototype.slice​​​将​​arguments​​对象换成一个数组。

function one() {
return Array.prototype.slice.call(arguments);
}

注意:箭头函数中没有​​arguments​​对象。

function one() {
return arguments;
}
const two = function () {
return arguments;
}
const three = function three() {
return arguments;
}

const four = () => arguments;

four(); // Throws an error - arguments is not defined

当我们调用函数​​four​​​时,它会抛出一个​​ReferenceError: arguments is not defined error​​​。使用​​rest​​语法,可以解决这个问题。

const four = (...args) => args;

这会自动将所有参数值放入数组中。