我需要破坏一些变量可能已经有值的对象。
let foo = 1, bar, baz = 'Hello';
const config = { foo: 42 };
({ foo, bar, baz } = config);
console.log({ foo, bar, baz });
这给了我
{
"foo": 42,
"bar": undefined,
"baz": undefined
}
但我真正想要的是
{
"foo": 42,
"bar": undefined,
"baz": "Hello"
}
如果 中存在同名的值,我想重写该值config
,如果没有,请改用其原始值。
我无法在解构时分配默认值,因为这些值是先前分配的。
({ foo = 1, bar, baz = 'Hello' } = config);
我知道我可以这样分配它,但它太笨重了,因为有超过 20 个变量。
({ foo = foo, bar = bar, baz = baz } = config);
有没有更好的方法来编写它而无需一直重复x = x
?