使用默认中间值进行解构 [duplicate]

Destructuring with default intermediate values [duplicate]

提问人:Alexander Nenashev 提问时间:10/29/2023 最后编辑:jonrsharpeAlexander Nenashev 更新时间:10/29/2023 访问量:79

问:

我想在解构中使用默认的中间值,例如:

const { (form = {}): data = {} } = {};

有什么方法可以将默认值分配给 ?找不到,似乎不可能。{}form

JavaScript ECMAScript-6

评论

1赞 Nina Scholz 10/29/2023
你有一些输入和想要的结果的例子吗?
1赞 jonrsharpe 10/29/2023
从什么意义上说,这不是由?{ form: data = {} }
0赞 Alexander Nenashev 10/29/2023
@NinaScholz代码是输入。我想要默认的变量data{}
0赞 Alexander Nenashev 10/29/2023
示例中的@jonrsharpe是且不能进一步解构。如果可以为其分配默认值,我可以进一步解构formundefined{}
0赞 Pointy 10/29/2023
没错,但这就是作用。“form”在源中给出属性名称,然后给出所需的本地符号。{ form: data = {} }: data

答:

1赞 Nina Scholz 10/29/2023 #1

您需要采用正确的语法来解构嵌套对象,并在末尾使用默认值。

const getData = object => {
    const { form: { data = {} } = {} } = object;
    return data;
};

console.log(getData({}));
console.log(getData({ form: {} }));
console.log(getData({ form: { data: { foo: 42 } }}));

评论

0赞 Pointy 10/29/2023
我同意,我现在明白你的意思了。如果解构“内部”对象的默认值包含一些东西,而不是简单的 .{ }
2赞 pilchard 10/29/2023
这是你自己的副本。