You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/he/2-js-basics/3-making-decisions/README.md

11 KiB

יסודות JavaScript: קבלת החלטות

JavaScript Basics - Making decisions

סקיצה מאת Tomomi Imura

שאלון לפני ההרצאה

שאלון לפני ההרצאה

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

Making Decisions

🎥 לחץ על התמונה למעלה לצפייה בסרטון על קבלת החלטות.

ניתן ללמוד את השיעור הזה ב-Microsoft Learn!

סקירה קצרה על בוליאנים

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

ניתן להגדיר בוליאן כ-true או false כך:

let myTrueBool = true
let myFalseBool = false

בוליאנים נקראים על שמו של המתמטיקאי, הפילוסוף והלוגיקן האנגלי ג'ורג' בול (18151864).

אופרטורים להשוואה ובוליאנים

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

סימן תיאור דוגמה
< קטן מ: משווה בין שני ערכים ומחזיר את סוג הנתונים הבוליאני true אם הערך בצד שמאל קטן מהערך בצד ימין 5 < 6 // true
<= קטן או שווה ל: משווה בין שני ערכים ומחזיר את סוג הנתונים הבוליאני true אם הערך בצד שמאל קטן או שווה לערך בצד ימין 5 <= 6 // true
> גדול מ: משווה בין שני ערכים ומחזיר את סוג הנתונים הבוליאני true אם הערך בצד שמאל גדול מהערך בצד ימין 5 > 6 // false
>= גדול או שווה ל: משווה בין שני ערכים ומחזיר את סוג הנתונים הבוליאני true אם הערך בצד שמאל גדול או שווה לערך בצד ימין 5 >= 6 // false
=== שוויון מוחלט: משווה בין שני ערכים ומחזיר את סוג הנתונים הבוליאני true אם הערכים בצד ימין ובצד שמאל שווים וגם מאותו סוג נתונים 5 === 6 // false
!== אי שוויון: משווה בין שני ערכים ומחזיר את הערך הבוליאני ההפוך למה שאופרטור השוויון המוחלט היה מחזיר 5 !== 6 // true

בדוק את הידע שלך על ידי כתיבת השוואות בקונסול של הדפדפן שלך. האם הנתונים שהוחזרו מפתיעים אותך?

משפט If

משפט if יריץ קוד בין הבלוקים שלו אם התנאי מתקיים.

if (condition) {
  //Condition is true. Code in this block will run.
}

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

let currentMoney;
let laptopPrice;

if (currentMoney >= laptopPrice) {
  //Condition is true. Code in this block will run.
  console.log("Getting a new laptop!");
}

משפט If..Else

משפט else יריץ את הקוד בין הבלוקים שלו כאשר התנאי אינו מתקיים. הוא אופציונלי עם משפט if.

let currentMoney;
let laptopPrice;

if (currentMoney >= laptopPrice) {
  //Condition is true. Code in this block will run.
  console.log("Getting a new laptop!");
} else {
  //Condition is false. Code in this block will run.
  console.log("Can't afford a new laptop, yet!");
}

בדוק את הבנתך לגבי הקוד הזה והקוד הבא על ידי הרצתם בקונסול של הדפדפן. שנה את הערכים של המשתנים currentMoney ו-laptopPrice כדי לשנות את הפלט של console.log().

משפט Switch

משפט switch משמש לביצוע פעולות שונות בהתבסס על תנאים שונים. השתמש במשפט switch כדי לבחור אחד מתוך מספר בלוקים של קוד לביצוע.

switch (expression) {
  case x:
    // code block
    break;
  case y:
    // code block
    break;
  default:
  // code block
}
// program using switch statement
let a = 2;

switch (a) {
  case 1:
    a = "one";
    break;
  case 2:
    a = "two";
    break;
  default:
    a = "not found";
    break;
}
console.log(`The value is ${a}`);

בדוק את הבנתך לגבי הקוד הזה והקוד הבא על ידי הרצתם בקונסול של הדפדפן. שנה את הערכים של המשתנה a כדי לשנות את הפלט של console.log().

אופרטורים לוגיים ובוליאנים

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

סימן תיאור דוגמה
&& וגם לוגי: משווה בין שני ביטויים בוליאניים. מחזיר true רק אם שני הצדדים נכונים (5 > 6) && (5 < 6 ) // צד אחד שגוי, השני נכון. מחזיר false
|| או לוגי: משווה בין שני ביטויים בוליאניים. מחזיר true אם לפחות צד אחד נכון (5 > 6) || (5 < 6) // צד אחד שגוי, השני נכון. מחזיר true
! לא לוגי: מחזיר את הערך ההפוך של ביטוי בוליאני !(5 > 6) // 5 אינו גדול מ-6, אבל "!" יחזיר true

תנאים והחלטות עם אופרטורים לוגיים

ניתן להשתמש באופרטורים לוגיים ליצירת תנאים במשפטי if..else.

let currentMoney;
let laptopPrice;
let laptopDiscountPrice = laptopPrice - laptopPrice * 0.2; //Laptop price at 20 percent off

if (currentMoney >= laptopPrice || currentMoney >= laptopDiscountPrice) {
  //Condition is true. Code in this block will run.
  console.log("Getting a new laptop!");
} else {
  //Condition is true. Code in this block will run.
  console.log("Can't afford a new laptop, yet!");
}

אופרטור שלילה

עד כה ראית כיצד ניתן להשתמש במשפט if...else ליצירת לוגיקה מותנית. כל מה שנכנס ל-if צריך להעריך ל-true/false. על ידי שימוש באופרטור ! ניתן לשלול את הביטוי. זה ייראה כך:

if (!condition) {
  // runs if condition is false
} else {
  // runs if condition is true
}

ביטויים טרנריים

if...else אינו הדרך היחידה לבטא לוגיקת החלטות. ניתן גם להשתמש במשהו שנקרא אופרטור טרנרי. התחביר שלו נראה כך:

let variable = condition ? <return this if true> : <return this if false>

להלן דוגמה מוחשית יותר:

let firstNumber = 20;
let secondNumber = 10;
let biggestNumber = firstNumber > secondNumber ? firstNumber : secondNumber;

קח רגע לקרוא את הקוד הזה כמה פעמים. האם אתה מבין כיצד האופרטורים עובדים?

הקוד לעיל אומר:

  • אם firstNumber גדול מ-secondNumber
  • אז יש להקצות את firstNumber ל-biggestNumber
  • אחרת יש להקצות את secondNumber.

הביטוי הטרנרי הוא פשוט דרך קומפקטית לכתיבת הקוד הבא:

let biggestNumber;
if (firstNumber > secondNumber) {
  biggestNumber = firstNumber;
} else {
  biggestNumber = secondNumber;
}

🚀 אתגר

צור תוכנית שנכתבת תחילה עם אופרטורים לוגיים, ולאחר מכן כתוב אותה מחדש באמצעות ביטוי טרנרי. מה התחביר המועדף עליך?


שאלון לאחר ההרצאה

שאלון לאחר ההרצאה

סקירה ולימוד עצמי

קרא עוד על האופרטורים הרבים הזמינים למשתמש ב-MDN.

עבור דרך הכלי הנהדר של ג'וש קומאו למציאת אופרטורים!

משימה

אופרטורים


כתב ויתור:
מסמך זה תורגם באמצעות שירות תרגום מבוסס בינה מלאכותית Co-op Translator. למרות שאנו שואפים לדיוק, יש לקחת בחשבון שתרגומים אוטומטיים עשויים להכיל שגיאות או אי-דיוקים. המסמך המקורי בשפתו המקורית נחשב למקור הסמכותי. למידע קריטי, מומלץ להשתמש בתרגום מקצועי על ידי מתרגם אנושי. איננו נושאים באחריות לכל אי-הבנה או פרשנות שגויה הנובעת משימוש בתרגום זה.