一、创建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); }