使用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);

相关文章:

  • 2022-12-23
  • 2022-01-02
  • 2022-01-07
  • 2021-09-01
猜你喜欢
  • 2022-12-23
  • 2021-08-19
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-29
  • 2021-08-10
相关资源
相似解决方案