gpt4 book ai didi

Javascript:将对象解压缩为函数参数

转载 作者:行者123 更新时间:2023-11-28 18:44:38 27 4
gpt4 key购买 nike

我有一个函数,在 Javascript 中

function asd(foo, bar, baz) {
// ...
}

这 3 个参数中的每一个都是必需的。

假设我将这些参数分组为一个对象:

var x = {
foo: 10,
bar: 20,
baz: 30
};

我可以通过以某种方式“解包”对象 x 来调用函数 asd 吗? 这可以通用地完成吗?即,不知道 asd 的签名。

我正在寻找类似 kwargs 在 Python 中解包的东西:

def asd(foo, bar, baz):
# ...

kwargs = {'foo': 10, 'bar': 20, 'baz': 30}
asd(**kwargs)

“不,不可能”的回答是可以接受的。我只是想知道这在 Javascript 中是否可行。

最佳答案

现在这在 JavaScript 中是可能的。另一条评论说它在本地是不可能的是不正确的(并且不是在发布时)。它是在您提出问题大约一年后添加的 - 为多年后登陆这里的人们添加了答案。

您的函数只需更改为:

function asd({foo, bar, baz}) {
// ...
}

你可以这样调用它:

var x = {
foo: 10,
bar: 20,
baz: 30
};
asd(x);

参见 MDN Destructuring Assignment .

关于Javascript:将对象解压缩为函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21969248/

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