NaN
الخاصية العامة NaN
هي قيمةٌ لا تُمثِّل عددًا (وهي اختصارٌ للعبارة Not-A-Number).
سمات الخاصية NaN | |
---|---|
قابلة للكتابة | لا |
قابلة للإحصاء | لا |
قابلة للضبط | لا |
البنية العامة
NaN
الوصف
الخاصية NaN
هي خاصيةٌ للكائن العام (global object) أي أنها متغيرٌ في المجال العام.
القيمة الابتدائية للخاصية NaN
هي Number.NaN
، والخاصية NaN
غير قابلة للضبط وغير قابلة للكتابة في المتصفحات الحديثة، لكن مع ذلك حاول تجنّب الكتابة عليها.
من النادر استخدام القيمة NaN
في البرامج، لكنها القيمة التي ستُعاد عندما تفشل دوال الكائن Math
(مثل Math.sqrt(-1)
) أو عند فشل تفسير قيمة رقمية (مثل parseInt("blabla")
).
اختبار إذا كانت القيمة NaN
لا تساوي القيمة NaN
(عبر معاملات المقارنة ==
و !=
و ===
و !==
) أيّة قيمة أخرى، بما في ذلك قيم NaN
الأخرى؛ لذا استخدام الدالة Number.isNaN()
أو الدالة isNaN()
لمعرفة إذا كانت القيمة المعنية هي NaN
، أو جرب مقارنة القيمة مع نفسها، فالقيمة NaN
هي القيمة الوحيدة التي لا تساوي نفسها.
NaN === NaN; // false
Number.NaN === NaN; // false
isNaN(NaN); // true
isNaN(Number.NaN); // true
function valueIsNaN(v) { return v !== v; }
valueIsNaN(1); // false
valueIsNaN(NaN); // true
valueIsNaN(Number.NaN); // true
دعم المتصفحات
الميزة | Chrome | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
الدعم الأساسي | نعم | نعم | نعم | نعم | نعم |
مصادر ومواصفات
- مسودة المعيار ECMAScript Latest Draft.
- معيار ECMAScript 2015 (6th Edition).
- معيار ECMAScript 5.1.
- معيار ECMAScript 1st Edition .