0Pricing
JavaScript Academy · 课时

真值与假值

了解哪些值会被求值为 true 或 false。

真值与假值 是 CoddyKit 上的免费 JavaScript Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 JavaScript Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 JavaScript Academy 课程共包含 4 节课。

真值与假值

在条件语句等布尔上下文中,每个 JavaScript 值都会被视为真值或假值。假值的行为类似于假;其他所有值都是真值。

if ("hello") {
  console.log("strings are truthy")
}

假值列表

恰好有八个假值。请记住它们,因为不在列表中的所有值都是真值。

  • 假
  • 0 和负零
  • 空字符串
  • 空值
  • 未定义值
  • NaN
  • BigInt 零
console.log(Boolean(0))
console.log(Boolean(""))
console.log(Boolean(null))

零是假值

数字零是假值,但任何其他数字(包括负数)都是真值。

console.log(Boolean(0))
console.log(Boolean(-5))
console.log(Boolean(0.1))

空字符串是假值

空字符串是假值,但包含空格或文本“假”的字符串是真值,因为它并不为空。

console.log(Boolean(""))
console.log(Boolean(" "))
console.log(Boolean("false"))

空值与未定义值

空值和未定义值都是假值。它们表示值的缺失。

console.log(Boolean(null))
console.log(Boolean(undefined))

NaN 是假值

NaN 是无效数值运算的结果,属于假值。在布尔检查中,这可以捕获转换失败。

console.log(Boolean(NaN))
console.log(Boolean(Number("abc")))

对象始终是真值

每个对象和数组都是真值,即使它们为空也是如此。许多开发者会误以为空数组是假值,因此这一点常常令人意外。

console.log(Boolean({}))
console.log(Boolean([]))

强制转换为布尔值

双重否定运算符可以简洁地将任意值转换为对应的布尔值,其效果与条件语句相同。

console.log(!!"text")
console.log(!!0)
console.log(!![])

在条件中利用真值性

您经常会利用真值性来检查值是否缺失。空字符串、空值或未定义值都会跳过条件分支。

function greet(name) {
  if (name) {
    return "Hi " + name
  }
  return "Hi guest"
}
console.log(greet(""))
console.log(greet("Ann"))

使用 OR 提供默认值

逻辑 OR 运算符返回第一个真值操作数,这是提供默认值的经典方式。请注意,零和空字符串都会触发默认值。

const input = ""
const value = input || "default"
console.log(value)

空值与假值的区别

空值合并运算符只会在空值或未定义值时回退,而不会在零等其他假值时回退,因此用于数值默认值时更安全。

const count = 0
console.log(count || 10)
console.log(count ?? 10)

快速检查

请测试您对真值和假值的了解。

回顾

回顾:共有八个假值,其他所有值都是真值。

  • 假值:假、0、空字符串、空值、未定义值、NaN、BigInt 零
  • 空对象和空数组都是真值
  • 双重否定会将值转换为布尔值
  • 空值合并只检查空值和未定义值
console.log(Boolean([]))
console.log(Boolean(0))

常见问题解答

「真值与假值」课时是免费的吗?

是的 — 「真值与假值」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 JavaScript Academy 课程的其余内容,请升级到 CoddyKit PRO。 JavaScript Academy 课程共包含 4 节课。

「真值与假值」这节课中我会学到什么?

了解哪些值会被求值为 true 或 false。 你通过在浏览器中直接运行的动手代码来练习 JavaScript Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 JavaScript Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 JavaScript Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。

「真值与假值」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 JavaScript Academy 课中编写并运行代码吗?

能。每节 JavaScript Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 真值与假值
  2. 宽松相等与严格相等
  3. 运算中的隐式类型转换
  4. 显式类型转换技巧
← 返回 JavaScript Academy