逻辑运算
|| 或&& 与! 非?? 空值合并运算符
不要用 || 与 && 代替 if。if 更明显,更具可读性。
优先级
&& 是要大于 || 的
!
将操作数转化为布尔类型,并返回
??
空值合并运算符(nullish coalescing operator)
?? 运算符的优先级与 || 相同
当一个值既不是 null 也不是 undefined 时,我们将其称为“已定义的(defined)”
result = a ?? b;
// 等同于
result = (a !== null && a !== undefined) ? a : b;警告
出于安全原因,JavaScript 禁止将 ?? 运算符与 && 和 || 运算符一起使用。
除非有括号。