javascript - 通过对象解构为对象的属性分配默认值

标签 javascript

是否有可能以某种方式解构对象、设置默认值并将此默认值直接分配给对象的属性?

考虑这段代码

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/

相关文章:

javascript - 在 Jqgrid 中使用正则表达式

javascript - 除了像 onclick 这样的委托(delegate)处理程序事件之外,Jquery 直接事件不会触发?

javascript - 以 Angular 2将图像转换为base64

javascript - 多行值在html中的div标签内显示在单行中

javascript - 自定义打印功能,打印内容在第一次事件触发时不显示

javascript - php如何使用js获取帖子ID

javascript - KendoUI - 树状 View : How to prevent the item drag n drop from one node to another?

javascript - 在 Visualforce 页面中禁用依赖选项列表

javascript - 来自构造函数的 HTML 元素标签名称

javascript - 使用共享对话框在 Facebook 上共享时出现 "Sorry, something went wrong."消息