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

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


作者:牧羊狼

出处:https://www.cnblogs.com/edwardwzw/

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利,谢谢您的配合。 Freedom is not let you do whatever you wanna but teach you not to do the things that you donnot wanna do.

原文地址:https://www.cnblogs.com/edwardwzw/p/11662917.html