如何使用spread运算符来获取具有命名参数的函数的所有参数?

时间:2016-05-17 11:43:18

标签: javascript

Spread operator可用于获取可变函数的参数,例如

$(document).ready(function() {
  $('.gallery-overlay a').fancybox();
});

但是,有没有办法获得一些参数已被命名的所有参数?例如

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

args('a', 'b', 'c');

// a
// b
// c

除了使用命名参数和可变参数联系列表之外,没有其他方法可以考虑,例如

(foo, bar, baz, ...args) => {
    console.log(args);
};

1 个答案:

答案 0 :(得分:1)

您可以使用destructuring assignment

执行此操作
let f = (...args) => {
     let [foo, bar, baz] = args;
     console.log(foo, bar, baz, args);
}

f(1, 2, 3, 4, 5);
// result: 1, 2, 3, [1, 2, 3, 4, 5]