مخفف عبارت Not a Number هست. وقتی یک عملیات ریاضی مثل ضرب روی مقادیر غیر عددی اعمال بشه خروجی NaN خواهد بود. خروجی عبارت‌های زیر NaN هستن:

{} * undefined;
{} * null;
'' * 'a';
1 * {};

undefined + null;
1 + NaN;
1 + undefined;

برای اینکه ببینیم یک مقدار NaN هست از تابع isNaN استفاده می‌کنیم:

isNaN({} * undefined); // true
isNaN({} * null); // true
isNaN('' * 'a'); // true
isNaN(1 * {}); // true

isNaN(undefined + null); // true
isNaN(1 + NaN); // true
isNaN(1 + undefined); // true

 

منبع: