使用ES6访问参数对象

时间:2016-12-02 04:00:52

标签: javascript ecmascript-6

根据MDN,我应该能够做到以下几点:

const test = (a, b, c, d) => {
    console.log(...arguments);
}

test(1, 2, 3, 4);

但是,我得到的是实际的参数对象,而不是[1,2,3,4]

如何使用ES6执行此操作?

2 个答案:

答案 0 :(得分:3)

  

箭头函数不绑定参数对象因此,参数只是对封闭范围中名称的引用。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions

改为使用function语句:



function test() {
  console.log(...arguments);
}

test(1, 2, 3, 4);




答案 1 :(得分:0)

你可以在ES 6中试试这个:

const test = (...args) => {
    console.log(...args);
}

test(1, 2, 3, 4)