=== (المساواة الصارمة) تقارن القيمة و النوع بدون تحويل. == (المساواة المرنة) تجري تحويل النوع أولاً، مما يؤدي إلى نتائج مفاجئة.
js
== ;
== ;
== ;
== ;
== ;
=== ;
=== ;
=== (المساواة الصارمة) تقارن القيمة و النوع بدون تحويل. == (المساواة المرنة) تجري تحويل النوع أولاً، مما يؤدي إلى نتائج مفاجئة.
== ;
== ;
== ;
== ;
== ;
=== ;
=== ;
قواعد التحويل غير واضحة وتؤدي إلى أخطاء. على سبيل المثال، [] == ![] يساوي true (خاصية غريبة معروفة). نادراً ما تريد JavaScript تحويل الأنواع بصمت خلف ظهرك أثناء المقارنة.
استخدم دائماً === (و !==). الاستثناء الوحيد الشائع والمقصود هو التحقق من null أو undefined معاً:
if (value == null) { ... } // true for BOTH null and undefined — a deliberate idiom
لكل شيء آخر، المساواة الصارمة تحافظ على توقعية المقارنات. للمقارنة بين الكائنات تحتاج إلى فحص المساواة العميقة (فهي تقارن بالمرجع، لذا {a:1} === {a:1} يساوي false).