الدرس 6 من 8
مساواة خادعة
- 12 دقيقة
- 4 معايير للتصحيح
- 3 تلميحات
- إلى المطلوب
هدف الدرس
ثلاث مقارنات تكذب بصمت
الشرح
== يحوّل الطرفين إلى نوع واحد قبل المقارنة، فيصير '' == 0 و'0' == 0 صحيحين معًا: الحقل الفارغ والحقل الذي فيه صفر شيء واحد عنده. أمّا === فيقارن النوع والقيمة بلا تحويل، ولهذا هو الافتراضي.
وNaN القيمة الوحيدة التي لا تساوي نفسها: n === NaN كاذب دائمًا حتى لو كانت n نفسها NaN. اسأل بـ Number.isNaN(n).
والكائنات تُقارَن بمراجعها لا بمحتواها: كائنان متطابقان في كل خاصية ليسا متساويين ما لم يكونا الكائن نفسه. وما يصل من الخادم كائن جديد دائمًا، فقارن بمعرّف ثابت.
المطلوب
أصلح المقارنات الثلاث: isEmpty لا تعدّ '0' فراغًا، وparseQty تُرجع null لما ليس رقمًا، وinCart تعرف المنتج بمعرّفه id.
معايير التصحيح
4 معايير- النصّ «0» قيمة لا فراغ
- NaN يُكشف ولا يمرّ
- الأرقام الصحيحة تمرّ كما هي
- المنتج يُعرف بمعرّفه لا بمرجعه