`אמתי` ו-`שקרי` ב-JavaScript
מאמר זה מסביר את המושגים truthy
ו-falsy
ב-JavaScript.
YouTube Video
אמתי
ו-שקרי
ב-JavaScript
המושגים אמתי
ו-שקרי
ב-JavaScript ממלאים תפקיד חשוב ביותר, במיוחד בהערכת משפטי תנאי. אמתי
ו-שקרי
קובעים אם ערך מוערך כ-true (נכון
) או false (שגוי
), אך ערכים אלו אינם בהכרח ה-Bool true
או false
עצמם.
ערכים שקריים
ערכים שקריים
מתייחסים לערכים המוערכים כ-false
בתוך תנאים של JavaScript. להלן רשימת ערכים שקריים
ב-JavaScript.
1const values = [
2 false,
3 0,
4 -0,
5 0.0,
6 -0.0,
7 0n,
8 -0n,
9 "",
10 null,
11 undefined,
12 NaN
13];
14
15for (let value of values) {
16 if (value) {
17 console.log(`${value} is truthy`);
18 } else {
19 console.log(`${value} is falsy`);
20 }
21}
בדוגמה זו, כל הערכים השקריים
יפלטו כ-"שקרי". להלן רשימת ערכים שקריים
ב-JavaScript.
false
—false
בסוג בוליאני0
— המספר אפס (עשרוני0.0
הוא גםFalsy
)-0
— אפס שלילי (שונה מבחינה טכנית מ-0
, אך עדייןFalsy
)0n
— אפס מסוג BigInt""
— מחרוזת ריקה באורך 0null
— אין ערך קייםundefined
— ערך לא מוגדרNaN
— לא מספר
ערכים אלה מטופלים כ-false
בפעולות לוגיות ובמשפטי תנאי (כמו משפטי if
).
ערכים אמיתיים
כל הערכים שאינם שקריים
הם אמתיים
. זה מתייחס לערכים המוערכים כ-Bool true
. ב-JavaScript, ערכים רבים מטופלים כ-אמתיים
.
1const values = [
2 true,
3 1,
4 -1,
5 "Hello",
6 " ",
7 [],
8 {},
9 function() {},
10 Symbol(),
11 Infinity
12];
13
14for (let value of values) {
15 if (value) {
16 console.log(value, ' is truthy');
17 } else {
18 console.log(value, ' is falsy');
19 }
20}
בקוד זה, ערכים שהם truthy
יופקו כ-"truthy". לדוגמה, הערכים הבאים הם truthy
.
true
—true
בסוג בוליאני- מספרים (שונים מ-0) — לדוגמה,
1
ו--1
הם גםtruthy
. - מחרוזות (שאינן ריקות) — למשל,
"Hello"
או" "
(גם מחרוזות המכילות רק רווחים נחשבותtruthy
) - אובייקטים — אפילו אובייקטים ריקים (
{}
) ומערכים ([]
) הםtruthy
. - פונקציות — פונקציות עצמן גם הן
truthy
. Symbol
— ערכים מסוגSymbol
גם כן נחשביםtruthy
.Infinity
— אינסוף חיובי וגם שלילי הםtruthy
.
שימושים ל-truthy
ו-falsy
המושגים truthy
ו-falsy
משמשים לעיתים קרובות בתנאים ובפעולות לוגיות. לדוגמה, בעת הגדרת ערך ברירת מחדל באמצעות האופרטור ||
(OR לוגי), הערך הראשון שהוא truthy
יוחזר כתוצאה.
איך לבדוק ערכים שהם falsy
כדי לבדוק ערכים שהם falsy
, נוח להשתמש בפונקציה Boolean
. הפונקציה Boolean
ממירה באופן ישיר ערך נתון לסוג בוליאני.
דוגמאות לשימוש בפונקציה Boolean
1const values = [
2 false,
3 0,
4 "",
5 null,
6 undefined,
7 NaN
8];
9
10for (let value of values) {
11 console.log(`${value} is ${Boolean(value) ? 'truthy' : 'falsy'}`);
12}
סיום
truthy
ו-falsy
ב-JavaScript הם מושגים חשובים להבנת אופן הערכת ערכים שאינם בוליאנים בתוך ביטויים תנאיים. ערכים שהם falsy
כוללים: false
, 0
, מחרוזת ריקה, null
, undefined
ו-NaN
, בעוד כל ערך אחר יוערך כ-truthy
. הבנת המושגים הללו מאפשרת לך לכתוב קוד גמיש ויעיל יותר.
תוכלו לעקוב אחר המאמר שלמעלה באמצעות Visual Studio Code בערוץ היוטיוב שלנו. נא לבדוק גם את ערוץ היוטיוב.