布尔值为false的情况
var x = new Boolean(false);
if (x) {
console.log('hi');
}
var y = Boolean(0);
if (y) {
console.log('hello');
}
显示结果是
控制台显示 hi
解释
- 1.var x=new Boolean(false);是创建一个对象,任何对象转为布尔值都为true。布尔对象的初始值为true或false,除了那七个值的初始值为false外,其余都为true
- 2.任何对象转为布尔值都为true,在js中,只有这七个值转为布尔值为false
0,-0,NaN,"",null,undefined,false - 3.注意y=Boolean(0),这里进行的是显示类型转换,0转为布尔值是false;和new Boolean(0).这两个差别很大,用new调用构造函数会创建一个布尔对象。