Boolean 内置对象是一个布尔值的对象包装器,表示两个值 true 和 false。
构造函数
new Boolean(value);
布尔类型转换函数
Boolean(value);
| 参数 | 说明 | 类型 |
|---|---|---|
| value | 可选参数。将由布尔对象存放的值或者要转换成布尔值的值 | any |
new)调用时,Boolean() 将把它的参数转换成一个布尔值,并且返回一个包含该值的 Boolean 对象。new)调用时,Boolean() 只将把它的参数转换成一个原始的布尔值,并且返回这个值。0、-0、null、false、NaN、undefined 或者 空字符串("") 生成的 Boolean 对象的值为 false。其他任何值,包括任何对象或者字符串 "false", 都会创建一个值为 true 的 Boolean 对象。true 和 false,和值为 true 和 false 的 Boolean 对象相混淆。undefined 或者 null 的对象,包括值为 false 的 Boolean 对象,在条件语句中,其值都将作为 true 来判断。const foo = new Boolean(false);if (foo) {// ...still works}
基本类型的布尔值(Boolean 的原始值)则不受此规则影响
var foo = false;if (foo) {// ...not works}
不要通过新建 Boolean 对象的方法将一个非布尔值转化成布尔值,可直接使用 Boolean 函数才是正确的。
// Badvar bad = new Boolean(expression);// Goodvar good = Boolean(expression);
创建值为 false 的 Boolean 对象
// no paramvar bNoParam = Boolean();// 0var bZero = Boolean(0);// nullvar bNull = Boolean(null);// ''var bEmptyString = Boolean('');// undefinedvar bUndefined = Boolean(undefined);// falsevar bfalse = Boolean(false);
创建值为 true 的 Boolean 对象
// truevar btrue = Boolean(true);// string truevar btrueString = Boolean('true');// string falsevar bfalseString = Boolean('false');// stringvar bSuLin = Boolean('Su Lin');// arrayvar bArrayProto = new Boolean([]);// objectvar bObjProto = new Boolean({});