Почему! New Boolean (false) равно false в JavaScript?

Из документации 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, mind = blown

Что это такое? даже ...

Это потому, что:

new Boolean(false) === false // false

Если да, то какой цели это служит?

29
задан Michiel van Oosterhout 1 January 2012 в 20:32
поделиться