سؤال

التكرار المحتمل:
جافا سكريبت === مقابل == :هل يهم أي عامل "متساوي" أستخدمه؟

ماهو الفرق بين == و === في جافا سكريبت؟لقد رأيت أيضا != و !== العاملين.هل هناك المزيد من هؤلاء المشغلين؟

هل كانت مفيدة؟

المحلول

=== و !== هي عوامل مقارنة صارمة:

لدى JavaScript مقارنة بالمساواة الصارمة والمحدودة.ل strict المساواة يجب أن يكون للكائنات التي يتم مقارنتها نفس النوع و:

  • سلسلتان متساويتان تمامًا عندما يكون لديهم نفس تسلسل الأحرف ، نفس الطول ، ونفس الأحرف في المواضع المقابلة.
  • رقمين متساويان تمامًا عندما تكون متساوية عدديًا (لها نفس قيمة العدد). NaN لا يساوي أي شيء ، بما في ذلك NaN.الأصفار الإيجابية والسلبية تساوي بعضها البعض.
  • اثنين من المعاملات المنطقية متساوية تمامًا إذا كان كلاهما صحيحًا أو كلاهما خطأ.
  • هناك كائنان متساويان تمامًا إذا كانا يشيران إلى نفس الشيء Object.
  • Null و Undefined الأنواع هي == (لكن لا ===).[أي.(Null==Undefined) يكون true لكن (Null===Undefined) يكون false]

مشغلي المقارنة - MDC

نصائح أخرى

ألق نظرة هنا: 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
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top