gpt4 book ai didi

javascript - 我如何传播命名参数?

转载 作者:行者123 更新时间:2023-11-30 10:57:21 25 4
gpt4 key购买 nike

正在关注 Is there a way to provide named parameters in a function call in JavaScript?
我正在做这样的事情:

function myFunction({param1, param2}={}){
// ...function body...
}

myFunction({ param1 : 70, param2 : 175});

所以我想知道有没有办法做到这一点:

function myFunction(params = {param1, param2}={}){
doSomething(...params)
}

我想很明显,我希望能够将参数对象分散到另一个函数中,而不是指定每个参数,但这样做就像

params = {param1, param2}={}  

会导致错误说 param1param2 未定义!,所以我知道这不是办法,所以知道如何实现或者可能是它一开始就不可能?

最佳答案

这是您要找的吗?

function myFunction (params) {
const {
param1 = /* default value */,
param2 = /* default value */
} = params;

doSomething(params);
}

更新#1

如您所述,为了获得 IDE 支持,您可能不想使用上面的答案。作为替代方案,您可以使用 arguments对象并使用 apply 将其传递给 doSomething方法。另请注意,arguments 在箭头函数中可用。

function myFunction ({param1, param2} = {}) {
// forward all arguments including "this" to "doSomething"
doSomething.apply(this, arguments);
}

关于javascript - 我如何传播命名参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59478630/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com