布尔值类型(boolean)

布尔值代表“真”和“假”两个状态。“真”用关键字 true 表示,“假”用关键字 false 表示。布尔值只有这两个值。

下列运算符会返回布尔值:

  • 前置逻辑运算符: !
  • 相等运算符: === !== == !=
  • 比较运算符: > >= < <=

如果 JavaScript 预期某个位置应该是布尔值,会将该位置上现有的值自动转为布尔值。转换规则是除了下面六个值被转为 false ,其他值都视为 true

  • undefined
  • null
  • false
  • 0
  • NaN
  • "" '' (空字符串)

布尔值往往用于程序流程的控制,请看一个例子。

if ('') {
  console.log('true');
}
// 没有任何输出

上面代码中, if 命令后面的判断条件,预期应该是一个布尔值,所以 JavaScript 自动将空字符串,转为布尔值 false ,导致程序不会进入代码块,所以没有任何输出。


注意:空数组( [] )和空对象( {} )对应的布尔值,都是 true

if ([]) {
  console.log('true');
}
// true

if ({}) {
  console.log('true');
}
// true