JavaScript 布尔值(Boolean)
在JavaScript中,布尔类型是一种基本数据类型,表示两个逻辑值:true
和 false
。布尔值经常用于条件语句和循环中,用来测试表达式的真假。
特点
- 只有两个值:
true
和false
。 - 用于逻辑运算:比较操作符、逻辑操作符。
- 隐式类型转换:在需要布尔值的上下文中,非布尔值会被转换成布尔值。
布尔字面量
let isFinished = false;
let isReady = true;
布尔运算
JavaScript提供了逻辑运算符来组合布尔值:
- 逻辑非
!
:取反运算符。
let isFalse = !true; // false
let isTrue = !false; // true
- 逻辑与
&&
:两个操作数都为true
时返回true
。
let result = true && false; // false
- 逻辑或
||
:两个操作数中至少有一个为true
时返回true
。
let result = true || false; // true
- 逻辑空或
??
(也叫空值合并运算符):如果左侧的操作数为null
或undefined
,则返回右侧的操作数。
let result = null ?? 'default value'; // 'default value'
条件语句
布尔值经常用在 if
语句和其他条件语句中:
let age = 20;
if (age >= 18) {
console.log("You are an adult.");
} else {
console.log("You are not an adult.");
}
布尔转换
非布尔值在布尔上下文中会被转换成布尔值:
- 假值:在布尔上下文中被认为是
false
的值有0
、-0
、NaN
、""
、null
、undefined
、false
。 - 真值:所有其他值被认为是
true
。
let truthyValue = "I am truthy"; // true
let falsyValue = ""; // false
if (truthyValue) {
console.log("It's truthy.");
}
if (!falsyValue) {
console.log("It's falsy.");
}
布尔对象
尽管不常见,但JavaScript允许创建布尔对象:
let boolObj = new Boolean(10 > 2);
boolObj.valueOf(); // true
注意:通常不建议使用布尔对象,因为它们可能会导致混淆。应该使用基本布尔字面量。
常用函数
JavaScript提供了一些用于操作布尔值的函数:
Boolean()
: 布尔构造函数,可以用来将其他值转换为布尔值。
let b = Boolean("Falsy string"); // false
true
和false
: 布尔字面量,也可以作为函数使用,将任何值转换为布尔值。
let t = true("truthy value"); // true
let f = false("falsey value"); // false