عادة ، من الضروري تحديد صحيح أو خطأ في بنية البيان التالية
إذا كان بيان الفرع
بينما بيان الحلقة
البيان الثاني في
يحب
نسخة الكود كما يلي:
إذا (boo) {
// افعل شيئًا
}
بينما (بو) {
// افعل شيئًا
}
هناك 6 قيم في جافا سكريبت "خاطئة" ، وهذه القيم الست هي
خطأ شنيع
باطل
غير محدد
0
'(سلسلة فارغة)
نان
هنا خطأ في حد ذاته هو نوع منطقي ، في حين أن الخمسة الأخرى ليست كذلك.
باستثناء هذه الستة ، فإن الآخرين "حقيقيون" ، بما في ذلك الكائنات والصفائف والمنظمات والوظائف ، إلخ. لاحظ أن "0" و "NULL" و "false" و {} و [] هي أيضًا قيم حقيقية.
على الرغم من أن جميع القيم الست "خاطئة" ، إلا أنها ليست متساوية.
نسخة الكود كما يلي:
console.log (false == null) // false
console.log (false == undefined) // false
console.log (false == 0) // true
console.log (false == '') // true
console.log (false == nan) // false
console.log (null == غير محدد) // صحيح
console.log (null == 0) // false
console.log (null == '') // false
console.log (null == nan) // false
console.log (غير محدد == 0) // خطأ
console.log (غير محدد == '') // false
console.log (غير محدد == nan) // false
console.log (0 == '') // true
console.log (0 == nan) // false
بالنسبة إلى "==" ، يتم استخلاص الاستنتاجات التالية أعلاه
خطأ ليس صحيحًا مع نفسه فحسب ، بل صحيح أيضًا مع 0 ، "
Null هو صحيح فقط عند مقارنته مع غير محدد ، وغير محدد صحيح فقط عند مقارنته مع NULL ، وليس هناك ثانية
0 بالإضافة إلى True مقارنة مع False ، هناك أيضًا سلسلة فارغة "
السلسلة الفارغة '' صحيحة وخطأ ، وهناك رقم 0