布尔类型 Boolean

某种意义上讲,为计算机设计程序就是与布尔值打交道,作为最基本的事实,所有电子电路只能识别和使用布尔数据。


定义方式

布尔 Boolean 类型表示逻辑实体,它只有两个值,保留字 true 和 false,分别代表真和假这两个状态。

Boolean 包装类型是与布尔值对应的引用类型,在布尔表达式中使用 Boolean 对象容易造成误解。

var b1 = true;
var b2 = new Boolean(true);
console.log(b1,typeof b1);  // true 'boolean'
console.log(b2,typeof b2);  // Boolean{[[PrimitiveValue]]: true}  'object'
console.log(b1.valueOf(), typeof b1.valueOf());  // true 'boolean'
console.log(b2.valueOf(), typeof b2.valueOf());  // true 'boolean'

应用场景]

  • 条件和循环语句

主要用于条件和循环语句的条件部分。如,if 语句中,如果布尔值为true执行第一段逻辑,如果为false执行另一段逻辑。通常将一个创建布尔值的比较直接与使用这个比较的语句结合在一起。

if(a > 1){
    //条件为true时,执行此处
}else{
    //条件为false时,执行此处
}
  • 逻辑运算符

逻辑运算符又叫布尔运算符。逻辑非运算符总是返回布尔值,而逻辑或和逻辑与操作并非如此;同时使用两个逻辑非操作符,可以将类型转换为布尔型。

console.log(!!1);  // true
console.log(!!0);  // false
console.log(!!' ');  // true
console.log(!!'');  // false
  • 关系运算符

关系运算符用于测试两个值之间的关系,根据关系是否存在而返回true或false,关系表达式总是返回一个布尔值,通常在if、while或for语句中使用关系表达式,用以控制程序的执行流程。

console.log( 1 > 2);  // false
console.log( 1 < 2);  // true

实例方法

Boolean对象是与布尔值对应的包装类型,继承了Object对象的通用方法:toString()、toLocaleString()和valueOf()。

  • toString()方法:返回Boolean的字符串值('true'或'false')
  • toLocaleString()方法:返回Boolean的字符串值('true'或'false')
  • valueOf()方法:返回Boolean的原始布尔值(true或false)
console.log(true.valueOf());  // true
console.log(true.toString());  // 'true'
console.log(true.toLocaleString());  // 'true'
 
console.log((new Boolean(false)).valueOf());  // false
console.log((new Boolean(false)).toString());  // 'false'
console.log((new Boolean(false)).toLocaleString());  // 'false'