箭头函数:解构参数并同时将它们作为一个整体抓取

Adr*_*scu 2 javascript ecmascript-6 arrow-functions

我们可以同时进行解构:({a, b}) => ( a + b )并获取参数:(...args) => ( f({...args}) )同时对于ES6中的箭头函数.

寻找类似的东西(...args = {a, b}) => ( a + b + f({...args}) ).

我的解决方案是做类似的事情:

({a, b}) => {
  const {...args} = {a, b}
  return a + b + f({...args})
}
Run Code Online (Sandbox Code Playgroud)

但这是多余的(感谢nnnnnn&Dmitry)

(args) => {
  const {a, b} = args
  return a + b + f({...args})
}
Run Code Online (Sandbox Code Playgroud)

这不是多余的,肯定更好,但仍然不完全令人满意.

gue*_*314 8

您可以在第一个参数的解构赋值目标中使用默认参数和object rest,其中需要单个对象,并可选择通过解构先前定义的对象参数来定义后续参数

const fn = ({...args} = {}, {a, b} = args) => console.log(a, b, args);
Run Code Online (Sandbox Code Playgroud)