התניה מותנית בג'אווהסקריפט

התניה מותנית בג'אווהסקריפט

מאמר זה מסביר התניה מותנית בג'אווהסקריפט.

YouTube Video

הפקודה if בג'אווהסקריפט

תחביר בסיסי

1if (condition) {
2    // Code that executes if the condition is true
3}

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

דוגמה

1let x = 10;
2
3if (x > 5) {
4    console.log("x is greater than 5");
5}

בדוגמה זו, מכיוון שהערך של x גדול מ-5, x גדול מ-5 מוצג בקונסולה.

פקודת else

תחביר בסיסי

1if (condition) {
2    // Code that executes if the condition is true
3} else {
4    // Code that executes if the condition is false
5}

על ידי שימוש בפקודת else שנמצאת לאחר if, ניתן להגדיר קוד שיבוצע כאשר התנאי הוא שקר.

דוגמה

1let x = 3;
2
3if (x > 5) {
4    console.log("x is greater than 5");
5} else {
6    console.log("x is 5 or less");
7}

במקרה הזה, מכיוון ש-x נמוך מ-5, "x הוא 5 או פחות" מוצג.

פקודת else if

תחביר בסיסי

1if (condition1) {
2    // Code that executes if condition1 is true
3} else if (condition2) {
4    // Code that executes if condition1 is false and condition2 is true
5} else {
6    // Code that executes if both condition1 and condition2 are false
7}

במקרה בו רוצים לבדוק מספר תנאים, משתמשים ב-else if. התנאי הבא נבדק רק אם התנאי הראשוני ב-if הוא שקר.

דוגמה

1let x = 5;
2
3if (x > 10) {
4    console.log("x is greater than 10");
5} else if (x === 5) {
6    console.log("x is 5");
7} else {
8    console.log("x is 5 or less");
9}

במקרה זה, מכיוון ש-x הוא 5, "x הוא 5" מוצג.

אופרטור שלושני (אופרטור מותנה)

תחביר

1condition ? valueIfTrue : valueIfFalse

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

דוגמה

1const number = 7;
2const result = number % 2 === 0 ? "Even" : "Odd";
3console.log(result); // "Odd"

במקרה הזה, מכיוון ש-number הוא 7, מוצג אי-זוגי.

סיכום

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

פקודת switch בג'אווהסקריפט

תחביר בסיסי

 1switch (expression) {
 2    case value1:
 3        // Code that executes if the expression matches value1
 4        break;
 5    case value2:
 6        // Code that executes if the expression matches value2
 7        break;
 8    default:
 9        // Code that executes if no cases match
10}

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

דוגמה

 1let fruit = "apple";
 2
 3switch (fruit) {
 4    case "apple":
 5        console.log("This is an apple");
 6        break;
 7    case "banana":
 8        console.log("This is a banana");
 9        break;
10    default:
11        console.log("Unknown fruit");
12}

בדוגמה זו, מכיוון שfruit הוא "apple", "This is an apple" מוצג בקונסולה.

break の役割

על ידי הוספת break בסוף כל מקרה, אתה יוצא מהצהרת ה-switch לאחר השלמת המקרה הזה. אם אינך כותב break, המקרה הבא יתבצע גם כן (זה נקרא fall-through).

דוגמה ל-Fall-Through

 1let color = "red";
 2
 3switch (color) {
 4    case "red":
 5        console.log("This is red");
 6    case "blue":
 7        console.log("This is blue");
 8    default:
 9        console.log("Unknown color");
10}

במקרה זה, מכיוון שcolor הוא "red", ואין break אחרי "This is red", גם "This is blue" וגם "Unknown color" יוצגו.

שימוש ב-default

default הוא החלק שמתבצע כאשר אין התאמה עם אף case. זה מקביל ל-else בהצהרת if.

 1let animal = "dog";
 2
 3switch (animal) {
 4    case "cat":
 5        console.log("This is a cat");
 6        break;
 7    case "bird":
 8        console.log("This is a bird");
 9        break;
10    default:
11        console.log("Unknown animal");
12}

במקרה זה, מכיוון שanimal הוא "dog", הוא נכנס תחת default, ו-"Unknown animal" מוצג.

ניהול ערכים מרובים באמצעות אותו case

אם ברצונך לבצע את אותה פעולה עבור מספר case, תוכל לכתוב אותם ברצף.

דוגמה

 1let day = 1;
 2switch (day) {
 3    case 1:
 4    case 2:
 5    case 3:
 6    case 4:
 7    case 5:
 8        console.log("Weekday");
 9        break;
10    case 6:
11    case 7:
12        console.log("Weekend");
13        break;
14    default:
15        console.log("Unknown day");
16}

בדוגמה זו, אם day הוא 1, "Weekday" יוצג.

switch vs. if

  • הצהרת if מתאימה לבדיקת תנאים מורכבים או טווחים. לדוגמה, תנאים מורכבים כמו שהמשתנה x גדול או שווה ל-10 וקטן או שווה ל-20 לא ניתנים לכתיבה ב-switch.
  • הצהרת switch יכולה לפעמים להפוך את הקוד לקריא יותר כאשר בודקים אם ערך תואם לערך מסוים.

סיכום

  • הצהרת switch משמשת לכתיבת פיצולי תנאים עבור מספר ערכים באופן תמציתי.
  • אם אינך משתמש ב-break בסוף כל case, ייתכן שגם ה-case הבא יבוצע (מעבר פשוט).
  • default מתבצע כאשר אף אחד מה-case לא תואם.

תוכלו לעקוב אחר המאמר שלמעלה באמצעות Visual Studio Code בערוץ היוטיוב שלנו. נא לבדוק גם את ערוץ היוטיוב.

YouTube Video