一、创建Boolean实例对象
Boolean对象是一个布尔值的对象包装器。
语法:new Boolean([value])
参数:value可选,用来初始化 Boolean 对象的值
描述:如果省略该参数,或者其值为 0、-0、null、false、NaN、undefined、或者空字符串(""),则生成的 Boolean 对象的值为 false。如果传入的参数是 DOM 对象 document.all,也会生成值为 false 的 Boolean 对象。任何其他的值,包括值为 "false" 的字符串和任何对象,都会创建一个值为 true 的 Boolean 对象。
当 Boolean 对象用于条件语句的时候(译注:意为直接应用于条件语句),任何不是 undefined 和 null 的对象,包括值为 false 的 Boolean 对象,都会被当做 true 来对待,基本类型的布尔值不受此规则影响
let isTrue = new Boolean(0);
if (isTrue){//true
console.log(11111111);
}
let flag = false;
if (flag){
console.log(11111111); //不会执行
}
对于任何对象,即使是值为 false 的 Boolean 对象,当将其传给 Boolean 函数时,生成的 Boolean 对象的值都是 true
let myFalse = new Boolean(false); // false
let g = new Boolean(myFalse); // true
let myString = new String("Hello");
let s = new Boolean(myString); // true
不要用创建 Boolean 对象的方式将一个非布尔值转化成布尔值,直接将 Boolean 当做转换函数来使用即可
二、Boolean静态属性
1.Boolean.length 属性,值为 1
2.Boolean.prototype 属性
表示Boolean 构造函数的原型,Boolean实例继承自Boolean.prototype,你可以使用构造函数的原型对象向所有Boolean实例添加属性或方法
三、Boolean实例方法
1.toString() 方法返回指定的布尔对象的字符串形式
/**
* toString() 方法返回指定的布尔对象的字符串形式
* bool.toString()
*
* 返回值:表示特定Boolean对象的字符串
*/
let flag = new Boolean(false);
console.log(flag.toString());//"false"
2.valueOf() 方法返回一个Boolean对象的原始值
/**
* valueOf() 方法返回一个Boolean对象的原始值
* bool.valueOf()
*
* 返回值:给定Boolean对象的原始值
*/
let x = new Boolean(0);
let myVar = x.valueOf(); //false
if (myVar) {
console.log(1111111);
}