מהם משתנים בוליאניים ואיך ערכם נקבע

משתנים בוליאניים הם משתנים שיכולים לקבל רק אחד משני ערכים: true ו- false.

משתנה בוליאני יכול להיות תוצאה של ביטוי בוליאני, למשל פסוק מתמטי:

let b = 7 > 2

בדוגמה הזו, ערכו של המשתנה יהיה true כיוון שהפסוק המתמטי הוא אמת, אבל בדוגמה הבאה:

let c = 7 < 2

ערכו של המשתנה c יהיה false, כיוון שהפסוק המתמטי הוא שקר.

אפשר, כמובן, לבדוק גם שוויון כך שהמשתנה הבוליאני יקבל ערך true רק אם שני הערכים שאנו משווים אכן שווים זה לזה:

let num = 3

let d1 = num === 3  //d1 will be true
let d2 = num === 5  //d2 will be false

סוגים של השוואת ערכים בג'אווהסקריפט

בג'אווהסקריפט יש שני סוגים של השוואת ערכים.

סוג ההשוואה אופרטור (סימן) דוגמה
השוואה מדויקת ===

let num = 3

let ex1 = num === 3

השוואה הכוללת המרת סוג ==

let num = 3

let ex2 = num == 3

ההבדל בין == לבין === הוא תוצאת ההשוואה במקרה והערכים המושווים הם מסוגים שונים.

נניח, למשל, שיש משתנה str אשר מחזיק מחרוזת. אם נבצע השמה של המחרוזת '3' למשתנה זה, ואז נשווה אותו למספר 3, תוצאת ההשוואה תהיה true עבור השוואה הכוללת המרת סוג, אך false עבור השוואה מדויקת.

let num = '3'

let ex1 = num === 3 //false
let ex1 = num == 3 //true

תנאים מורכבים

לצורך חישוב של משתנה בוליאני, ניתן ליצור גם תנאים שמורכבים ממספר תנאים.

תנאי מורכב של "או":

let b = (3 > 5) || (10 > 9)

התנאי שלהלן מורכב משני תנאים שביניהם אופרטור || (או). אם אחד התנאים (או שניהם) הם אמת, הביטוי כולו יהיה אמת. לכן, אף על פי שהביטוי הראשון אינו אמת (כי 3 אינו גדול יותר מ- 5), כיוון שהביטוי השני הוא אמת (כי 10 גדול מ- 9), הביטוי כולו יהיה אמת ולכן ערכו של b הוא true.

תנאי מורכב של "וגם":

let c = (3 > 5) && (10 > 9)

במקרה של תנאי && (וגם), על שני תתי התנאים להיות אמת כדי שהביטוי כולו יהיה אמת. אף על פי שאחד התנאים נכונים (כי 10 גדול מ- 9), לא כל התנאים נכונים ולכן הביטוי כולו אינו אמת וערכו של c הוא false.