Soooooo isNaN
, по-видимому, разбит на JavaScript, с такими вещами, как:
isNaN('')
isNaN(' ')
isNaN(true)
isNaN(false)
isNaN([0])
Возвращение false, когда они кажутся всем... Не число...
В ECMAScript 6 проект включает новый Number.isNaN
, но он выглядит как (imo), что это также нарушено...
Я ожидал бы
Number.isNaN('RAWRRR')
Возвращать true, так как это строка и не может быть преобразована в число... Однако...
Кажется, что вещи, которые я бы рассматривал... не число, действительно, не, а не число...
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-isfinite-number
В примерах MDN говорится:
Number.isNaN( "блаб" );//например. это было бы верно с isNaN
Я не понимаю, как это "более надежная версия исходного глобального isNaN". когда я не могу проверить, не являются ли вещи не числом.
Это будет означать, что мы все еще подвергаемся фактической проверке типа, а также проверке isNaN... что кажется глупым...
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-isnan-number
Проект ES3 здесь в основном говорит: все всегда ложно, за исключением его Number.NaN
Кто-нибудь еще найдет это сломанным или я просто не понимаю точку isNaN?