箭头函数:解构参数并同时将它们作为一个整体获取
arrow functions: destructuring arguments and grabbing them as a whole at the same time
我们能否同时对 ES6 中的箭头函数进行解构:({a, b}) => ( a + b )
和获取参数:(...args) => ( f({...args}) )
。
正在寻找类似 (...args = {a, b}) => ( a + b + f({...args}) )
的内容。
我目前的解决方案是:
({a, b}) => {
const {...args} = {a, b}
return a + b + f({...args})
}
不过是多余的
或(感谢 nnnnnn 和德米特里)
(args) => {
const {a, b} = args
return a + b + f({...args})
}
它没有那么多余而且肯定更好,但仍然不完全令人满意。
如果你的意思是 f
也接受命名参数,那么为什么不直接使用:
(params) => {
const { a, b } = params
return a + b + f(params)
}
您可以在第一个参数的解构赋值目标处使用默认参数和对象 rest,其中需要单个对象,并且可以选择通过解构先前定义的对象参数来定义后续参数
const fn = ({...args} = {}, {a, b} = args) => console.log(a, b, args);
我们能否同时对 ES6 中的箭头函数进行解构:({a, b}) => ( a + b )
和获取参数:(...args) => ( f({...args}) )
。
正在寻找类似 (...args = {a, b}) => ( a + b + f({...args}) )
的内容。
我目前的解决方案是:
({a, b}) => {
const {...args} = {a, b}
return a + b + f({...args})
}
不过是多余的 或(感谢 nnnnnn 和德米特里)
(args) => {
const {a, b} = args
return a + b + f({...args})
}
它没有那么多余而且肯定更好,但仍然不完全令人满意。
如果你的意思是 f
也接受命名参数,那么为什么不直接使用:
(params) => {
const { a, b } = params
return a + b + f(params)
}
您可以在第一个参数的解构赋值目标处使用默认参数和对象 rest,其中需要单个对象,并且可以选择通过解构先前定义的对象参数来定义后续参数
const fn = ({...args} = {}, {a, b} = args) => console.log(a, b, args);