Boolean(逻辑)对象

 

Boolean(逻辑)对象

Boolean(逻辑)对象用于将非逻辑值转换为逻辑值(true 或者 false)。

 

下面的所有的代码行均会创初始值为 true 的 Boolean 对象:

var myBoolean=new Boolean(1);
var myBoolean=new Boolean(true);
var myBoolean=new Boolean("true");
var myBoolean=new Boolean("false");
var myBoolean=new Boolean("EdwardWZW");

 

下面的所有的代码行均会创建初始值为 false 的 Boolean 对象。

var myBoolean=new Boolean();
var myBoolean=new Boolean(0);
var myBoolean=new Boolean(null);
var myBoolean=new Boolean("");
var myBoolean=new Boolean(false);
var myBoolean=new Boolean(NaN);

 (注意:返回的是初始值为true/false的Boolean对象,而不是true/false)

 

下面是Edward(小编)之前在上海xxx网络科技面试时,遇到的一道笔试题:
let a = new Boolean(false);
if (a) {
  console.log(22222);
} else {
  console.log(44444);
}

  如果你不是很细心或者之前对new Boolean()返回的值不是很了解,那么你很可能会以为a === false, 从而误以为打印44444.......

       而事实却并非如此。现在,我们就去控制台上一看究竟:

 

 

从控制台我们可以发现,new Boolean()它实则是一个构造函数,返回的相当于是一个实例化的Boolean对象,

而我们知道,对象的布尔值是true。 所以应当打印:22222

 

 

 

 

 看到这里,你是不是恍然大悟。哈哈哈~


posted @ 2019-10-12 17:32  牧羊狼  阅读(369)  评论(0编辑  收藏  举报