Просто из любопытства.
Не похоже, чтобы typeof NaN
был числом. Точно так же, как NaN === NaN
или NaN == NaN
возврат false. Является ли это одной из особенностей javascript или будет причина для этого?
Изменить: спасибо за ваши ответы. Но нелегко заставить их обойти. Чтение ответов и вики я понял больше, но все же предложение вроде
Сравнение с NaN всегда возвращает неупорядоченный результат даже при сравнении с самим собой. Предикаты сравнения либо сигнализируют, либо не сигнализируют, версии сигнализации сигнализируют неверное исключение для таких сравнений. Предикаты равенства и неравенства не сигнализируют, так что x = x, возвращающее false, может быть использовано для проверки, является ли x тихим NaN.
просто держит мою голову. Если кто-то сможет перевести это на человеческом (в отличие, скажем, на математике) читаемом языке, я был бы благодарен.