为什么在JavaScript中,!new Boolean(false)等于false?

10 浏览
0 Comments

为什么在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

如果是这样的话,这有什么用途呢?

0