抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

经常在 Javascript 源码中看到 a ? b : c,但我不太理解,特意查了一下。


在JavaScript中,?: 是一对运算符,它们称为”逻辑非”和” logical or”(逻辑或)。

a ? b : c 是一种 ternary 操作符,用于简化 if-else 语句。它的工作原理是:

  • 如果表达式 afalse 或零值,则执行并返回表达式 b
  • 如果表达式 a 不为 false 或零值,则执行并返回表达式 c

因此,a ? b : c equivalent 的 if-else 语句是:

1
2
3
4
5
if (a === false || a === 0) {
return b;
} else {
return c;
}

这两种方式都可以实现相同的逻辑,但第一种方式使用 ternary 操作符,第二种方式使用 if-else 语句。

在 JavaScript 中,?: 运算符不仅用于逻辑运算,还可以用于其他情况,比如:

  • a ? b : c 可以用作条件表达式,用于简化 if-else 语句。
  • a & b | c 可以用作位运算,用于多重赋值。
  • a & b ^ c 也可以用作位运算。

总的来说,?: 运算符是 JavaScript 中一种强大的简写工具,可以帮助提高代码效率和易读性。

评论