Если у меня есть что-то, что оценивает NaN, почему это не показывает равенство NaN - PullRequest
0 голосов
/ 26 мая 2018

В следующем коде:

var notNum = 'dfsd'
Number(notNum) === NaN 

Последнее выражение оценивается как ложное.Ты знаешь почему?Нет ли способа использовать NaN в сравнении?

typeof(Number(notNum)) === 'number'

Это как-то оценивается как истина.Я действительно не понимаю, как работает NaN ..

1 Ответ

0 голосов
/ 26 мая 2018

NaN (Not-a-Number) - это глобальный объект в JS, возвращаемый при сбое какой-либо математической операции.

Невозможно сравнить объект с другим объектом напрямую.Либо вы должны использовать typeof, который вы используете, либо использовать Object.is ()

Object.is (Number (notNum), NaN) // true

...