便笺: Javascript 笔记 a ? b : c

Published 2024-11-30 12:42 Updated 2026-02-26 12:35 291 words 2 min read

This post is not yet available in English. Showing the original.
经常在 Javascript 源码中看到 a ? b : c,但我不太理解,特意查了一下。 在 JavaScript 中, 和 是一对运算符,它们称为"逻辑非"和" logical or"(逻辑或)。 是一种 ternary 操作符,用于简化 if-else 语句。它的工作原理是: 如果表达式 为真值,则执行并返回表达式 如果表达式 为假值,则执行并返回表达式 因此, equivalent...

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


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

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

  • 如果表达式 a 为真值,则执行并返回表达式 b
  • 如果表达式 a 为假值,则执行并返回表达式 c

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

if ( a ) {
  return b;
} else {
  return c;
}

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

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

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

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

If you enjoyed this, leave a comment~