Согласно спецификации, оба из них должны возвращать false
(это соответствует здравому смыслу для меня):
new Object() == true // false
new Object() == false // false
на основе:
Если тип (x) равен объекту, а тип (y) равен либо строковому, либо числовому, возвращает результат сравнения ToPrimitive (x) == y.
Возврат false.
Так как оба возвращают false и:
A! = Bэквивалентно! (A == B).
оба они должны быть true
:
new Object() != true // true
new Object() != false // true
примечание: Это не следует путать с правдивостью new Object()
.Другими словами new Object() == true
не то же самое Boolean(new Object()) == true