JS中的Boolean对象

使用new操作符和Boolean(value)构造函数时,得到的并不是原始的true或false,而是一个对象,JS将对象视为真(true)

var oBooleanTrue = new Boolean(true);
var oBooleanFalse = new Boolean(false);
console.log(oBooleanTrue);
console.log(typeof oBooleanTrue);
if(oBooleanFalse){
  console.log("I an seriously truthy ,don't believe me");
}
if(oBooleanTrue){
  console.log("I am also truthy ,see?")
}
// 使用valueOf()函数可以在布尔对象中提取到真正的值 if(oBooleanFalse.valueOf()){ console.log("With valueOf , I am false"); }else{ console.log("Without valueof,I am still truthy"); }




聪明的做法是避免使用Boolean构造函数来创建新的Boolean对象。
在js中创建Boolean类型的值有两种方法,
1. 将字面量true或false赋给变量:
var pBooleanTrue = true;
var pBooleanFalse = false;
2. 使用Boolean()函数。
var fBooleanTrue = Boolean(true);
var fBooleanFalse = Boolean(false);
原文地址:https://www.cnblogs.com/xiaohaodeboke/p/12155971.html