JavaScript 布尔类型

摘要:在本教程中,您将了解 JavaScript 布尔类型,它具有两个字面值 truefalse

JavaScript 布尔类型的介绍

JavaScript boolean 原生类型具有两个字面值:truefalse

以下示例 声明两个变量 并将其值初始化为 truefalse

let completed = true;
let running = false;Code language: JavaScript (javascript)

布尔字面值区分大小写。这意味着 TrueFalse 是有效的标识符,但它们不是 boolean 值。

JavaScript 允许将其他类型的值强制转换为布尔值。要将非布尔值强制转换为布尔值,您可以使用内置的 Boolean() 函数。例如

let error = 'An error occurred';
let hasError = Boolean(error);

console.log(hasError);Code language: JavaScript (javascript)

输出

trueCode language: JavaScript (javascript)

它是如何工作的。

  • 首先,声明一个名为 error 的变量,它包含一个字面字符串 'An error occurred'
  • 其次,使用 Boolean() 函数将 error 变量强制转换为布尔值。
  • 第三,将 hasError 变量的值输出到控制台。

因为 error 变量包含一个非空字符串,所以 Boolean() 函数将其值强制转换为 true

下表显示了 Boolean() 函数如何将其他类型的的值强制转换为布尔值

数据类型转换为 true 的值转换为 false 的值
字符串任何非空字符串“” (空字符串)
数字任何非零数字0, NaN
对象任何对象空值
未定义(不相关)未定义

此表很重要,因为某些语句会自动使用 Boolean() 函数将非布尔值隐式强制转换为布尔值。

例如,if 语句在条件为 true 时执行一个代码块。如果您使用非布尔值,它将使用 Boolean() 函数将该值隐式强制转换为布尔值。

请注意,您将在 if 教程 中了解 if 语句。

查看以下示例

let error = 'An error occurred';

if (error) {
  console.log(error);
}Code language: JavaScript (javascript)

输出

An error occurred

在此示例中,由于 error 变量包含一个非空字符串,所以 if 语句将其值评估为 true。因此,它执行 console.log(error)error 输出到控制台。

如果您将 error 变量的值更改为空字符串 (""),您将不会在输出中看到任何内容,因为 if 语句将其评估为 false

let error = '';
if (error) {
  console.log(error);
}Code language: JavaScript (javascript)

摘要

  • JavaScript boolean 类型具有两个字面值 truefalse
  • 使用 Boolean() 函数将非布尔值强制转换为布尔值。
  • 某些语句会将非布尔值隐式强制转换为布尔值。
本教程是否有用?