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({});