这篇文章已经发布超过一年了,内容可能已经过时,请谨慎参考。

逻辑运算符

逻辑运算符

&&

  • 都为真时返回最后一个值
  • 遇到 falsy 会短路并返回该值

||

  • 遇到 truthy 会短路并返回该值
  • 全部为 falsy 才返回最后一个值

!

  • 先转换为布尔值再取反
  • !!value 可转成布尔值

示例

const a = "" && "x";
const b = "ok" && "x";
const c = 0 || 42;
const d = "hi" || "x";
const e = !0;

结果依次为 """x"42"hi"true