Прежде всего, хочу отметить, что я знаю, как работают isNaN() и Number.isNaN(). Я читаю "Определенное руководство" Дэвида Фланагана, и он приводит пример того, как проверить, имеет ли значение NaN:
x !== x
Это приведет к true тогда и только тогда, когда x будет NaN.
Но теперь у меня есть вопрос: почему он использует строгое сравнение? Потому что кажется, что
x != x
ведет себя одинаково. Безопасно ли использовать обе версии или я пропускаю некоторые значения в JavaScript, которые возвратят true для x !== x и false для x != x?