فارغة: تعني عدم وجود قيمة؛
غير محدد: يمثل متغيرًا غير معلن،
أو تم الإعلان عن متغير ولكن لم يتم تعيين قيمة له،
أو خاصية كائن غير موجودة.
عامل التشغيل == يعامل الاثنين على قدم المساواة. إذا كنت تريد التمييز بين الاثنين، استخدم === أو typeof.
————————————- الخط الفاصل للغموض ——————————————-
في جافا سكريبت، كان الصفر وغير المحدد مربكين في السابق. سيساعدك التحليل التالي على فهم الأمر بشكل أكثر وضوحًا (أو سيجعلك أكثر إرباكًا):
-
null هي كلمة أساسية؛
قيمة من نوع غير محدد. جرب الكود التالي:
document.writeln(typeof null); //return object
document.writeln(typeof undef); //return unidentifier- في نموذج الكائن، جميع الكائنات هي مثيلات للكائن أو فئاته الفرعية، باستثناء الكائنات الفارغة:
document.writeln(مثيل كائن فارغ)؛ //return false- null "قيمة مساوية (==)" إلى غير محددة، ولكن ليست "قيمة متطابقة (===)" إلى غير محددة:
document.writeln(null == uncategorized);
document.writeln(null === undef); //return false- يمكن تحويل كل من القيمة null وغير المحددة إلى false أثناء العملية، لكنهما لا يساويان false:
document.writeln(!null, !undef); العودة صحيحا، صحيحا
document.writeln(null==false);
document.writeln(undef==false);