摘要:在本教程中,您将了解 JavaScript 布尔类型,它具有两个字面值 true
和 false
。
JavaScript 布尔类型的介绍
JavaScript boolean
原生类型具有两个字面值:true
和 false
。
以下示例 声明两个变量 并将其值初始化为 true
和 false
let completed = true;
let running = false;
Code language: JavaScript (javascript)
布尔字面值区分大小写。这意味着 True
和 False
是有效的标识符,但它们不是 boolean
值。
JavaScript 允许将其他类型的值强制转换为布尔值。要将非布尔值强制转换为布尔值,您可以使用内置的 Boolean()
函数。例如
let error = 'An error occurred';
let hasError = Boolean(error);
console.log(hasError);
Code language: JavaScript (javascript)
输出
true
Code 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
类型具有两个字面值true
和false
。 - 使用
Boolean()
函数将非布尔值强制转换为布尔值。 - 某些语句会将非布尔值隐式强制转换为布尔值。
本教程是否有用?