Number.isNaN() - визначає, чи є передане значення NaN. Це більш надійна версія оригінальної глобальної функції isNaN().
Number.isNaN( value);
value - значення яке необхідно провірити на NaN.
isNaN() метод об'єкту Number який перевіряє чи є передане значення NaN.
Оскільки обидва оператори перевірки на рівність, == і ===, обчислюються в false при перевірці, що NaN і є NaN, з'являється необхідність у функції Number.isNaN(). Ця ситуація відрізняється від всіх інших можливих порівнянь в JavaScript. Даний метод доступний не у всіх бравзерах.
На відміну від глобальної функції isNaN(), Number.isNaN() не має проблеми примусового перетворення параметра в число. Це означає, що в нього безпечно передавати значення, які зазвичай перетворюються в NaN, але насправді NaN не є. Також це означає, що метод повертає true тільки для числових значень, що мають значення NaN.
Number.isNaN(NaN ); // true
Number.isNaN(Number.NaN ); // true
Number.isNaN(0 / 0) // true
// все решта false
Number.isNaN('NaN' ); // false
Number.isNaN(undefined ); // false
Number.isNaN({}); // false
Number.isNaN('blabla' ); // false
Number.isNaN(true);
Number.isNaN(null);
Number.isNaN(37 );
Number.isNaN('37');
Number.isNaN('37.37');
Number.isNaN('');
Number.isNaN(' ');
var f = Number.isNaN(2);
alert(f); //false