Глобальна властивість NaN є значенням, представляюче не число (Not-A-Number).
NaN
NaN є властивістю глобального об'єкта. Початковим значенням NaN є не-число (Not-A-Number) - те ж саме значення має Number.NaN.
В сучасних браузерах NaN є не зміною властивістю. Навіть коли це не так, уникайте її перевизначення.
У коді NaN використовується рідко. Вона виникає коли математичні функції не можуть повернути значення (наприклад, при виклику Math.sqrt(-1)) або коли функція зчитування числа з рядка не може це зробити, тому що в рядку не число (parseInt ( 'ляляля')).
Перевірка NaN на рівність оператором рівності (== і ===) не можуть використовуватися для NaN. Замість них використовуйте функції Number.isNaN() або isNaN().
var n=Number('5# @');
alert(n); //NaN
n = Math.sqrt(-1);
alert(n); //NaN
Зверніть увагу що typeof(NaN) видає number.
var x=5*'Текст';
alert(x); //NaN
alert(typeof(x)); //number
NaN === NaN ; // false
Number.NaN === NaN ; // false
isNaN(NaN); // true
isNaN(Number.NaN); // true