Nullish coalescing 操作符允许在变量不为null
或undefined
时将其分配给一个变量,否则分配给另一个表达式。
a = b ?? other
相对于之前使用的 ||
,它是一种改进,因为如果 b
是空字符串或其他 falsy 值但不是 nullish 值,||
还会分配其他值。
然而,有时候我们也使用 &&
进行值分配,例如:
a = b && func(b)
如果b不是nullish,我们只想在b上执行func
,否则分配nullish的b。
当然,&&
检查falsiness,而不是nullishness。是否有一个nullish版本的&&
?
a = b == null ? b : func(b)
。 - strx == null
,只有当x = null
或x = undefined
时才会返回true
。因此,它与 nullish coalescing 行为完全匹配,该行为仅对这些值进行激活。 - VLAZ