为什么在JavaScript中,!new Boolean(false)等于false?
- 论坛
- 为什么在JavaScript中,!new Boolean(false)等于false?
10 浏览
为什么在JavaScript中,!new Boolean(false)等于false?
这段代码来自于《jQuery文档》中关于JavaScript类型的部分,描述了将字符串转换为布尔值时的行为(这个主题与这个问题无关,只是我在那里找到了这段代码):
!"" // true !"hello" // false !"true" // false !new Boolean(false) // false
我理解前面三个例子,但是最后一个例子我不理解,因为:
new Boolean(false) == false //true !false // true
所以我会认为:
!new Boolean(false) // true
但实际上:
!new Boolean(false) // false,这让我很困惑
这到底是怎么回事...
是因为:
new Boolean(false) === false // false
如果是这样的话,这有什么用途呢?