摘要:在本教程中,您将了解 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)输出
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类型具有两个字面值true和false。 - 使用
Boolean()函数将非布尔值强制转换为布尔值。 - 某些语句会将非布尔值隐式强制转换为布尔值。
本教程是否有用?