繁体   English   中英

未定义收件人时如何有条件地设置对象属性

[英]How to conditionally set an object property when the asignee is undefined

我试图有条件地在JS中设置对象属性,但出现以下错误。

TypeError:无法读取未定义的属性“地址”

这是由secondary.address抛出的。

let address = {
  prop: primary.address || secondary.address || null
};

是否有一种干净的方法通过将secondary.address强制为null而不是抛出错误来以级联方式设置address.prop

您可以使用shorCircuiting &&

let address = {
  prop: primary && primary.address || secondary && secondary.address || null
};

或者您可以使用“ Optional Chaining这是第2阶段的建议,如果您的项目已经使用babel ,则可以使用babel-plugin-proposal-optional-chaining

let address = {
  prop: primary?.address || secondary?.address || null
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM