- 语法:new Boolean([value])
- 如果第一个参数不是布尔值,则会将其转换为布尔值。
- 如果省略该参数,或者其值为 0、-0、null、false、NaN、undefined、或者空字符串(""),则生成的 Boolean 对象的值为 false。
- 任何其他的值,包括值为
"false"
的字符串和任何对象,都会创建一个值为true
的Boolean
对象。 - 注意不要将基本类型中的布尔值
true
和false
与值为true
和false
的Boolean
对象弄混了。
任何不是 undefined 和 null 的对象,包括值为 false 的 Boolean 对象,直接用于条件语句时都会被当做 true 来对待。例如,下面 if 语句中的条件为真:
var x = new Boolean(null)
if (x) {
// 这里的代码会被执行
console.log('可以执行')
}
===
var x = null
if (x) {
// 这里的代码不会被执行
console.log('可以执行') // 不会输出
}
===
var x = false;
if (x) {
// 这里的代码不会执行
}
对于任何对象,即使是值为 false
的 Boolean
对象,当将其传给 Boolean
函数时,生成的 Boolean
对象的值都是 true
。
var myFalse = new Boolean(false); // false
var g = new Boolean(myFalse); // true
var myString = new String("Hello");
var s = new Boolean(myString); // true
创建值为 false
的 Boolean
对象
var bNoParam = new Boolean();
var bZero = new Boolean(0);
var bNull = new Boolean(null);
var bEmptyString = new Boolean('');
var bfalse = new Boolean(false);
创建值为 true
的 Boolean
对象
var btrue = new Boolean(true);
var btrueString = new Boolean('true');
var bfalseString = new Boolean('false');
var bSuLin = new Boolean('Su Lin');
var bArrayProto = new Boolean([]);
var bObjProto = new Boolean({});