【发布时间】:2022-01-22 20:06:15
【问题描述】:
ES16+ 提供了一个很好的简写 obj.someMethod?.() 来调用 someMethod 如果存在于调用对象上。
被这种编码糖宠坏了,如果存在,我还想为属性分配一个值,例如obj?.someProp = 42(这会导致无效的左手赋值)。
我想对任何对象(主要是 HTMLElements 数据集)执行此操作。知道如何缩短这个吗?
if(obj?.hasOwnProperty("someProp")) obj.someProp = 42
【问题讨论】:
-
or
||操作符在这里可能会派上用场,取决于您使用该值的位置,例如:如果obj.someProp为空或未定义,let var = obj.someProp || 42var 将计算为 42
标签: javascript object properties