Странности равенства

Задача

Что выведет каждое сравнение и почему?

NaN === NaN; // ?
Object.is(NaN, NaN); // ?
0 === -0; // ?
Object.is(0, -0); // ?
null == undefined; // ?
null === undefined; // ?
'' == 0; // ?
'' == false; // ?
[] == false; // ?
[] == ![]; // ?
null >= 0; // ?
null > 0; // ?
null == 0; // ?

Разбор

См. также