eg1:
var boo = new Boolean(false)
document.write(boo.valueOf())//false
eg2:
var boo1 = new Boolean(new Boolean(false))
document.write(boo1.valueOf())//true
为什么两个示例的输出不同?
顺便说一句:
console.log((new Boolean( new Boolean(false))))//nothing
document.write(new Boolean( new Boolean(false)))//true
为什么控制台中没有什么?
对象是真实的,当您使用 new Boolean
时,您正在调用boolean 构造函数,该构建器返回对象。当调用new Boolean
具有真实值时,它会导致其值为true
的对象。因此,new Boolean(new Boolean(<anything>))
将导致一个值为true
的布尔值。
但只是不这样做 - 改用文字布尔或Boolean(condition)
。