是否有可能以某种方式解构对象、设置默认值并将此默认值直接分配给对象的属性?
考虑这段代码
let foo = {};
let {bar = 1} = foo;
console.log(foo); // {}
console.log(bar); // 1
如您所见,foo
仍然没有 bar
属性。是否有可能像下面这样将 Prop 和默认值直接分配给对象:
let {bar = 1: foo.bar}
这是明显的非法语法。
有没有一种方法可以让 foo
成为
{bar: 1}
解构完成后?
最佳答案
您可以使用object property assignment pattern [YDKJS: ES6 & Beyond] 将具有属性的对象作为目标。 .
var foo = {};
({ bar: foo.bar = 1 } = foo);
console.log(foo);
foo.bar = 42;
({ bar: foo.bar = 1 } = foo);
console.log(foo);
关于javascript - 通过对象解构为对象的属性分配默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50738279/