מוסברים JavaScript בוליאנים - כיצד להשתמש בבוליאנים ב- JavaScript

בוליאני

בוליאנים הם סוג נתונים פרימיטיבי הנפוץ בשפות תכנות מחשבים. בהגדרה, לבוליאני יש שני ערכים אפשריים: trueאו false.

ב- JavaScript, לעתים קרובות יש כפייה מסוג מרומז לבוליאנית. אם לדוגמא יש לך משפט if אשר בודק ביטוי מסוים, ביטוי זה יאלץ לבוליאני:

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

ישנם רק כמה ערכים שיאלצו לשקר:

  • שקר (לא ממש כפוי מכיוון שהוא כבר כוזב)
  • ריק
  • לא מוגדר
  • NaN
  • 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'

כפי שאתה יכול לראות, המפעיל או בודק את האופראנד הראשון. אם זה נכון או אמיתי, הוא מחזיר אותו מיד (ולכן אנו מקבלים 'מילה' במקרה הראשון ונכון במקרה השני). אם זה לא נכון או אמיתי, הוא מחזיר את האופרנד השני (ולכן אנחנו מקבלים 'מילה' במקרה השלישי).

עם המפעיל והמפעיל זה עובד בצורה דומה, אבל כדי ש'אין 'אמיתיים, שני האופרטים צריכים להיות אמיתיים. אז זה תמיד יחזיר את האופרנד השני אם שניהם אמיתיים / אמיתיים, אחרת הוא יחזיר שקר. לכן במקרה הרביעי אנו מתגשמים ובמקרה האחרון אנו מקבלים 'מילה'.

האובייקט הבוליאני

יש גם אובייקט JavaScript מקורי שעוטף ערך. הערך שהועבר כפרמטר הראשון מומר לערך בוליאני, במידת הצורך. אם הערך מושמט, 0, -0, null, false, NaN, undefined, או המחרוזת הריקה (""), לאובייקט יש ערך ראשוני של false. כל הערכים האחרים, כולל כל אובייקט או המחרוזת "שקר", יוצרים אובייקט עם ערך התחלתי של אמת.

אל תבלבל בין הערכים הבוליאניים הפרימיטיביים נכון ושקר לבין הערכים האמיתיים והשקריים של האובייקט הבוליאני.

פרטים נוספים

כל אובייקט שערכו אינו בלתי מוגדר או אפס, כולל אובייקט בוליאני שערכו אינו נכון, מוערך לאמיתי כאשר הוא מועבר לאמירה מותנית. אם נכון, פעולה זו תבצע את הפונקציה. לדוגמא, התנאי בהצהרת if הבאה מעריך נכון:

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

התנהגות זו אינה חלה על פרימיטיבים בוליאניים. לדוגמה, התנאי בהצהרה הבאה אם ​​מעריך שקר:

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

אל תשתמש באובייקט בוליאני כדי להמיר ערך שאינו בוליאני לערך בוליאני. במקום זאת, השתמש בבוליאנית כפונקציה לביצוע משימה זו:

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

אם אתה מציין אובייקט כלשהו, ​​כולל אובייקט בוליאני שערכו אינו נכון, כערך ההתחלתי של אובייקט בוליאני, לאובייקט הבוליאני החדש יש ערך נכון.

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

אל תשתמש בחפץ בוליאני במקום פרימיטיבי בוליאני.