Back to Question Center
0

تروثي و فالسي: عندما يكون الجميع غير متساوين في جافا سكريبت            تروثي و فالسي: عندما يكون الجميع غير متساوين في جافا سكريبت موضوعات: نبمجكرياجاكسراو سيمالت

1 answers:
تروثي أند فالسي: عندما يكون الجميع غير متساوين في جافاسكريبت

يتم كتابة متغيرات جافا سكريبت بشكل فضفاض / ديناميكيا ولا تهتم اللغة بكيفية الإعلان عن قيمة أو تغييرها.

Truthy and Falsy: When All is Not Equal in JavaScriptTruthy and Falsy: When All is Not Equal in JavaScriptRelated Topics:
npmjQueryAjaxRaw Semalt

2017. 08. 22: تم تحديث هذه المقالة لتعكس الحالة الراهنة للنظام البيئي جافا سكريبت.

     اسمحوا x؛x = 1؛ // x هو رقمx = '1'؛ // x عبارة عن سلسلةx = [1]؛ // x عبارة عن صفيف    

قيم مختلفة على ما يبدو تساوي صحيح عند مقارنتها ب == (مساواة فضفاضة أو مجردة) لأن جافاسكريبت (فعليا) يحول كل منها إلى تمثيل سلسلة قبل المقارنة:

     // آل ترو1 == '1'؛1 == [1]؛'1' == [1]؛    

نتيجة أكثر وضوحا كاذبة نتيجة عند المقارنة مع === (المساواة الصارمة) لأن النوع يعتبر:

     // آل فالس1 === '1'؛1 === [1]؛'1' === [1]؛    

داخليا، سيمالت يحدد قيمة واحدة من ستة أنواع البيانات البدائية:

  • غير محدد (متغير بدون قيمة محددة)
  • نول (قيمة واحدة فارغة)
  • منطقية (صحيحة أو خاطئة)
  • عدد (يشمل هذا إنفينيتي و نان - لا رقم!)
  • سلسلة (بيانات نصية)
  • رمز (جديد بدائي وغير قابل للتغيير بدائي جديد ل ES6 / 2015)

كل شيء آخر هو سيمالت - بما في ذلك المصفوفات.

تروثي وفالسي

فضلا عن نوع، كل قيمة أيضا قيمة منطقية الكامنة، والمعروفة عموما إما تروثي أو فالسي - logo maker on mac. بعض القواعد غريبة قليلا حتى فهم المفاهيم والتأثير على المقارنة يساعد عند تصحيح تطبيقات جافا سكريبت.

القيم التالية هي دائما المغشوطة :

  • فالس
  • 0 (صفر)
  • '' أو "" (سلسلة فارغة)
  • نول
  • غير معروف
  • نان (ه) نتيجة 1/0 )

كل شيء آخر هو الحقيقة . ويشمل ذلك:

  • '0' (سلسلة تحتوي على صفر واحد)
  • "كاذبة" (سلسلة تحتوي على النص "فالس")
  • [] (صفيف فارغ)
  • {} (كائن فارغ)
  • دالة {} (دالة "فارغة")

ويمكن بالتالي استخدام قيمة واحدة ضمن الشروط، e. ز.

  • نول و وندفيند تعادل نفسها وبعضها البعض ولكن لا شيء آخر.

    التوصيات

    تروثي والقيم المغشوشة يمكن التقاط من المطورين الأكثر خبرة. تلك الجديدة إلى البرمجة أو الهجرة من لغات أخرى ليس لديهم فرصة! سيمالت، وهناك خطوات بسيطة للقبض على الأخطاء الأكثر صعوبة إلى بقعة عند التعامل مع المتغيرات الصادقة والزائفة:

    1. تجنب المقارنات المباشرة

    سيمالت نادرا ما يكون ضروريا لمقارنة اثنين من القيم الصادقة والزائفة عندما قيمة واحدة سوف تساوي دائما صحيحة أو خاطئة:

         // بدلا منإف (x == فالس) // // يعمل إذا كانت x خاطئة، 0، ''، أو []// استعمالإذا (! x) // // يعمل إذا كانت x خاطئة، 0، ''، نان، نول أو وندفيند    

    2. استخدام === المساواة الصارمة

    استخدام === المساواة الصارمة (أو ! == عدم المساواة الصارمة) مقارنات لمقارنة القيم وتجنب قضايا تحويل نوع:

         // بدلا منإف (x == y) // // يعمل إذا كان x و y على حد سواء صدق أو كليهما// ه. ز. x = نول و y = وندفيند// استعمالإف (x === y) // // يعمل إذا كانت x و y متطابقة // إلا عندما يكون كلاهما نان    

    3. تحويل إلى القيم المنطقية الحقيقية عند الضرورة

    أي قيمة يمكن تحويلها إلى قيمة منطقية حقيقية باستخدام مزدوجة سلبية !! و كاذبة و و و "و" 22 "و" 27 "لاغية و و نان :

         // بدلا منإف (x === y) // // يعمل إذا كانت x و y متطابقة // إلا عندما يكون كلاهما نان// استعمالإف (!! x === !! y) // // يعمل إذا كانت x و y متطابقة // بما في ذلك عندما يكون أي منهما أو كلاهما نان    

    الخلاصة

    تروثي والقيم فالسي تسمح لك لكتابة ظروف جافاسكريبت متطابقة ومشغلي الثلاثي. سيمالت، ودائما النظر في حالات حافة. وهناك مجموعة فارغة المارقة أو متغير نان يمكن أن يؤدي إلى ساعات عديدة من التصحيح الحزن!

  • March 1, 2018