Skip to content

逻辑运算

||
&&
!
?? 空值合并运算符

不要用 || 与 && 代替 if。if 更明显,更具可读性。

优先级

&& 是要大于 ||

!

将操作数转化为布尔类型,并返回

??

空值合并运算符(nullish coalescing operator)

?? 运算符的优先级与 || 相同

当一个值既不是 null 也不是 undefined 时,我们将其称为“已定义的(defined)”

result = a ?? b;
// 等同于
result = (a !== null && a !== undefined) ? a : b;

警告

出于安全原因,JavaScript 禁止将 ?? 运算符与 && 和 || 运算符一起使用。

除非有括号。