从JavaScript类型的jQuery文档中可以看到这段代码描述转换为布尔值时字符串的行为(该主题与此问题无关,但它只是我找到代码的地方):!"" // true!"hello" // false!"true" // false!new Boolean(false) // false我得到前三个例子,但我没有得到最后一个例子,因为:new Boolean(false) == false //true!false // true所以我假设:!new Boolean(false) // true但反而:!new Boolean(false) // false, mind = blown这是什么我甚至不...是因为:new Boolean(false) === false // false如果是这样,它的用途是什么?
2 回答
汪汪一只猫
TA贡献1898条经验 获得超8个赞
new Boolean(false)返回一个非null 的对象。非null对象总是真实的。
因此,!任何非null对象都将始终为false。
要向自己证明,可以在javascript控制台中运行它
(typeof new Boolean(false)) //"object"
此外,您可以使用strict equality运算符确认new Boolean(false)不是真的false:
new Boolean(false) === false // false
顺便说一句,将Boolean函数作为函数调用- 没有new - 实际上会返回一个原语
!Boolean(false) // true
(typeof Boolean(false)) //"boolean"
添加回答
举报
0/150
提交
取消