[英]How to check if value is undefined and if it is, set it to null
value = value ? value : null;
如果undefined
,我想将value
设置为null
。 除了我已经写过的,我还能做些什么来减少重复和更干净?
??
) 您可以使用nullish coalescing operator ,这是一个“[...] 逻辑运算符,当其左侧操作数为null
或undefined
时返回其右侧操作数,否则返回其左侧操作数” :
value = value ?? null;
这最符合您在value
undefined
时分配null
的要求。 结合赋值,这可以通过使用逻辑空值赋值运算符 ( ??=
) 变得更加简洁:
value ??= null;
这应该可以满足您的所有要求,但让我们也看看一些可能的替代方案:
||
) 另一种选择可能是||
操作员:
value = value || null;
或以其分配形式:
value ||= null;
此处的区别在于null
将分配给任何虚假值,包括0
、 false
和''
。
?:
)这是您问题的原始实现:
value = value ? value : null;
从本质上讲,这表现出与逻辑 OR 运算符实现相同的问题,即null
将被分配给任何虚假值。 然而,在这种情况下,可以通过在三元条件中包含更严格的比较(使其更加冗长)来缓解这种情况:
value = value != null ? value : null;
undefined
, null
, 0
, Nan
和''
被认为是一个虚假的声明,所以如果你想确保你只更新你的变量,当它持有一个undefined
的值时,你应该考虑使用这样的if 语句if(value==undefined) value =null;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.