شرح JavaScript Booleans - كيفية استخدام Booleans في JavaScript

قيمة منطقية

Booleans هي نوع بيانات بدائي شائع الاستخدام في لغات برمجة الكمبيوتر. بحكم التعريف ، يحتوي المنطقي على قيمتين محتملتين: trueأو false.

في JavaScript ، غالبًا ما يكون هناك نوع من الإكراه الضمني على منطقي. إذا كان لديك على سبيل المثال عبارة if التي تتحقق من تعبير معين ، فسيتم فرض هذا التعبير على منطقي:

const a = 'a string'; if (a) { console.log(a); // logs 'a string' }

لا يوجد سوى عدد قليل من القيم التي سيتم فرضها على الخطأ:

  • خطأ (ليس بالإكراه حقًا لأنه خطأ بالفعل)
  • لا شيء
  • غير معرف
  • ن
  • 0
  • "" (سلسلة فارغة)

سيتم إجبار جميع القيم الأخرى على الحقيقة. عندما يتم فرض قيمة على قيمة منطقية ، فإننا نسميها أيضًا إما "خطأ" أو "صواب".

إحدى الطرق التي يتم بها استخدام نوع الإكراه هي استخدام عوامل التشغيل ||( &&) و ( ):

const a = 'word'; const b = false; const c = true; const d = 0 const e = 1 const f = 2 const g = null console.log(a || b); // 'word' console.log(c || a); // true console.log(b || a); // 'word' console.log(e || f); // 1 console.log(f || e); // 2 console.log(d || g); // null console.log(g || d); // 0 console.log(a && c); // true console.log(c && a); // 'word'

كما ترى ، يتحقق العامل أو المعامل الأول. إذا كان هذا صحيحًا أو صحيحًا ، فإنه يعيده على الفور (ولهذا السبب نحصل على "كلمة" في الحالة الأولى وصحيحة في الحالة الثانية). إذا لم يكن صحيحًا أو غير صحيح ، فسيتم إرجاع المعامل الثاني (وهذا هو سبب حصولنا على "كلمة" في الحالة الثالثة).

مع العامل and ، يعمل بطريقة مماثلة ، ولكن من أجل "و" ليكون صحيحًا ، يجب أن يكون كلا المعاملين صادقين. لذلك سيعود دائمًا المعامل الثاني إذا كان كلاهما صحيحًا / صحيحًا ، وإلا فإنه سيعيد القيمة false. هذا هو السبب في الحالة الرابعة نحقق الحقيقة وفي الحالة الأخيرة نحصل على "كلمة".

الكائن المنطقي

يوجد أيضًا كائن JavaScript أصلي يلتف حول قيمة. يتم تحويل القيمة التي تم تمريرها كمعامل أول إلى قيمة منطقية ، إذا لزم الأمر. إذا تم حذف القيمة ، 0 ، -0 ، فارغة ، خطأ ، NaN ، غير معرّف ، أو سلسلة فارغة ("") ، يكون للكائن قيمة أولية للخطأ. جميع القيم الأخرى ، بما في ذلك أي كائن أو السلسلة "false" ، تنشئ كائنًا بقيمة أولية صحيحة.

لا تخلط بين القيم المنطقية الأولية "صواب وخطأ" مع قيم "صواب وخطأ" للكائن المنطقي.

المزيد من التفاصيل

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

const x = new Boolean(false); if (x) { // this code is executed }

لا ينطبق هذا السلوك على العناصر الأولية المنطقية. على سبيل المثال ، الشرط في العبارة التالية إذا تم تقييمه على خطأ:

const x = false; if (x) { // this code is not executed }

لا تستخدم كائنًا منطقيًا لتحويل قيمة غير منطقية إلى قيمة منطقية. بدلاً من ذلك ، استخدم Boolean كوظيفة لأداء هذه المهمة:

const x = Boolean(expression); // preferred const x = new Boolean(expression); // don't use

إذا قمت بتحديد أي كائن ، بما في ذلك كائن Boolean قيمته خاطئة ، كقيمة أولية لكائن Boolean ، فإن الكائن Boolean الجديد له قيمة true.

const myFalse = new Boolean(false); // initial value of false const g = new Boolean(myFalse); // initial value of true const myString = new String('Hello'); // string object const s = new Boolean(myString); // initial value of true

لا تستخدم كائنًا منطقيًا بدلاً من كائن بدائي منطقي.