Boolean类是Boolean原始类型的引用类型。要创建Boolean对象,只需要传递Boolean值作为参数:
var oBooleanObject = new Boolean(true);
Boolean对象将覆盖object类的valueOf方法,返回原始值,即true 或 false。toString方法也会被覆盖,返回字符串“true”或”false”。
在JavaScript中,Boolean型表示的是对象。如果一个对象存在,boolean值即为true。
var oFalseObject = new Boolean(false);
var bResult = oFalseObject && true;
alert(bResult); //output true
这是为什么呢?在这段代码中,用false值创建Boolean对象。然后用这个值与原始值true进行AND操作。在boolean运算中,false和true进行AND操作的结果为false。不过,在这行代码中,计算的是oFalseObject,而不是它的值false。正如前面讨论过的,在Boolean表达式中,所有对象都会被自动转换为true,所以oFalseObject 的值是true。然后true再与true进行AND操作,结果为true。