English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
المقدمة
أولاً، يجب أن نعرف أن هناك 6 قيم في js هي false،وهي: 0, '', null, undefined, NaN وfalse،وكل شيء آخر (بما في ذلك {},[],Infinity) هو true.
يمكن استخدام دالة Boolean() أو استخدام غير مزدوج مرتين للحصول على قيمة الحقيقة للمجمع، مثل Boolean(undefined) و!!undefined للحصول على قيمة الحقيقة false,
لحساب القيم الحقيقية لـ 0, '', null, undefined, NaN،{},[],Infinity،تكون القيم كالتالي: false false false false false true true true.
لذلك نعرف أن قيمة الحقيقة للمجمع هي true، حتى لو كان المجمع {}.
تحويل القيم الحقيقية
نوع البيانات | تحويل القيم الحقيقية |
---|---|
undefined | undefined يُحول إلى false |
Object | null يُحول إلى false، والآخر يُحول إلى true |
Boolean | false يُحول إلى false، وtrue يُحول إلى true |
Number | 0،NaN يُحول إلى false، والآخر يُحول إلى true |
String | "" يُحول إلى false، والآخر يُحول إلى true |
"&&"
قواعد عمل محرر && في لغة الجافا سكربت كالتالي:
إذا كانت قيمة التعبير اليسرى في && صحيحة، فإنها تعود إلى قيمة التعبير اليمنى؛ وإلا فإنها تعود إلى قيمة التعبير اليسرى. عند حساب عدة تعبيرات && معًا، تعود القيمة الأولى التي تُحسب كـ false، وإذا كانت جميع نتائج التعبيرات صحيحة، فإنها تعود إلى قيمة التعبير الأكثر اليمنى.
استخدم aa = {'name': 'xx'}; استخدم bb = aa && aa.age; // bb يعطي قيمة undefined; دعوة cc; استخدم dd = cc && cc.name ? cc.name : undefined; // dd يعطي قيمة undefined const dd = cc && cc.name; // dd يخرج كـ undefined;
نتائج الجملتين السابقتين متشابهة، كنت أستخدم الطريقة السابقة لكتابة الكود، ولكن وجدت أن بعض الفروع في الاختبار المسبق لم يتم تغطيتها، مما أدى إلى انخفاض تغطية الفروع في الاختبار المسبق، والطريقة الجديدة يمكن أن تحل هذه المشكلة بشكل جيد، ونتائجها متشابهة.
"||"
قواعد حساب عملاق "||" في JavaScript كالتالي:
إذا كانت قيمة التعبير الأيسر من "||" صحيحة، فإنها تعود بقيمة التعبير الأيسر، وإلا تعود بقيمة التعبير الأيمن. عند حساب عدة تعبيرات "||" معًا، تعود القيمة الأولى التي تكون نتيجتها صحيحة، وإذا كانت جميع النتائج هي false، فإنها تعود بقيمة التعبير الأيمن.
const aa = false || 'xx'; // aa يخرج كـ 'xx'
"!!"
"!!" تحويل التعبير إلى قيمة boolية قسريًا، نتيجة الحساب هي true أو false.
const aa = 'xx'; const bb = !!aa; // bb يخرج كـ true const cc = !!(NaN || undefined || null || 0 || '' ); // cc هو false;
الخلاصة
هذا هو نهاية محتوى هذا المقال، نأمل أن تكون محتويات هذا المقال ذات قيمة في تعلم أو عمل الجميع، إذا كان لديك أي أسئلة، يمكنك ترك تعليق للتفاعل، شكرًا لدعمك لتعليم呐喊.
البيان: محتويات هذا المقال تم جمعها من الإنترنت، ملكية المحتويات لصاحب الحقوق، المحتويات تم تقديمها من قبل مستخدمي الإنترنت بطرقهم الخاصة، هذا الموقع لا يمتلك حقوق الملكية، لم يتم تعديل المحتويات بشكل إنساني، ولا يتحمل أي مسؤولية قانونية. إذا وجدت محتوى يشتبه في حقوق النسخ، يرجى إرسال بريد إلكتروني إلى: notice#oldtoolbag.com (عند إرسال البريد الإلكتروني، يرجى استبدال '#' بـ '@') لإبلاغنا، وتقديم الأدلة ذات الصلة، إذا تم التحقق من ذلك، سيتم حذف المحتوى المشبوه فورًا.