الفرق بين == و === في JavaScript [نسخة مكررة]
-
22-08-2019 - |
سؤال
التكرار المحتمل:
جافا سكريبت === مقابل == :هل يهم أي عامل "متساوي" أستخدمه؟
ماهو الفرق بين ==
و ===
في جافا سكريبت؟لقد رأيت أيضا !=
و !==
العاملين.هل هناك المزيد من هؤلاء المشغلين؟
المحلول
===
و !==
هي عوامل مقارنة صارمة:
لدى JavaScript مقارنة بالمساواة الصارمة والمحدودة.ل
strict
المساواة يجب أن يكون للكائنات التي يتم مقارنتها نفس النوع و:
- سلسلتان متساويتان تمامًا عندما يكون لديهم نفس تسلسل الأحرف ، نفس الطول ، ونفس الأحرف في المواضع المقابلة.
- رقمين متساويان تمامًا عندما تكون متساوية عدديًا (لها نفس قيمة العدد).
NaN
لا يساوي أي شيء ، بما في ذلكNaN
.الأصفار الإيجابية والسلبية تساوي بعضها البعض.- اثنين من المعاملات المنطقية متساوية تمامًا إذا كان كلاهما صحيحًا أو كلاهما خطأ.
- هناك كائنان متساويان تمامًا إذا كانا يشيران إلى نفس الشيء
Object
.Null
وUndefined
الأنواع هي==
(لكن لا===
).[أي.(Null==Undefined
) يكونtrue
لكن (Null===Undefined
) يكونfalse
]
نصائح أخرى
ألق نظرة هنا: http://longgoldenears.blogspot.com/2007/09/triple-equals-in-javascript.html
العلامات الثلاثة المتساوية تعني "المساواة دون إكراه نوعي".باستخدام المساواة الثلاثية، يجب أن تكون القيم متساوية في النوع أيضًا.
0 == false // true
0 === false // false, because they are of a different type
1 == "1" // true, automatic type conversion for value only
1 === "1" // false, because they are of a different type
null == undefined // true
null === undefined // false
'0' == false // true
'0' === false // false
لا تنتمي إلى StackOverflow