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
看到这里,你是不是恍然大悟。哈哈哈~