便笺: Javascript 笔记 a ? b : c

发表于 2024-11-30 12:42 更新于 2024-11-30 12:42 300 字 2 min read

kissablecho avatar

kissablecho

kissablecho 的个人博客 / 记录生活,分享技术 / 喜欢二次元和白丝。

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

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


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

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

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

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

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 中一种强大的简写工具,可以帮助提高代码效率和易读性。

If you enjoyed this, leave a comment~

© 2024 - 2026 kissablecho
Powered by theme astro-koharu · Inspired by Shoka