פרק 6: תנאים (Conditions) ב-JavaScript

1. מה זה תנאים?

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

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

2. מבנה בסיסי של if ו-else

התחביר הבסיסי של תנאי if נראה כך:

  • אם התנאי ב-if הוא true (נכון), הקוד שבגוף ה-if יבוצע.
  • אם התנאי הוא false (לא נכון), הקוד ידלג הלאה (או ל-else אם יש).

התחביר:

if (תנאי) {
    // קוד שיבוצע אם התנאי נכון
} else {
    // קוד שיבוצע אם התנאי לא נכון
}

דוגמה:

let age = 18;

if (age >= 18) {
    console.log("You are an adult.");
} else {
    console.log("You are a minor.");
}

הסבר:

  • אם הערך של age הוא 18 ומעלה, הפלט יהיה "You are an adult".
  • אם age קטן מ-18, הפלט יהיה "You are a minor".

3. שימוש ב-else if לבדיקת תנאים נוספים

לפעמים יש יותר מתנאי אחד לבדוק, ואז משתמשים ב-else if. ניתן לשלב כמה משפטי else if כדי לבדוק מספר תנאים שונים.

דוגמה:

let grade = 85;

if (grade >= 90) {
    console.log("Excellent");
} else if (grade >= 80) {
    console.log("Very Good");
} else if (grade >= 70) {
    console.log("Good");
} else {
    console.log("Needs Improvement");
}

הסבר:

  • אם grade גדול מ-90, תופיע ההודעה "Excellent".
  • אם הוא בין 80 ל-90, תופיע "Very Good".
  • אם הוא בין 70 ל-80, תופיע "Good".
  • אחרת, תופיע ההודעה "Needs Improvement".

4. תנאים מקוננים (Nested Conditions)

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

דוגמה:

let age = 20;
let hasLicense = true;

if (age >= 18) {
    if (hasLicense) {
        console.log("You can drive.");
    } else {
        console.log("You need a license to drive.");
    }
} else {
    console.log("You are too young to drive.");
}

הסבר:

  • אם הגיל 18 ומעלה, נכנסים לתנאי פנימי שבודק אם יש רישיון נהיגה.
  • אם יש רישיון, תופיע ההודעה "You can drive".
  • אם אין רישיון, תופיע ההודעה "You need a license to drive".
  • אם הגיל קטן מ-18, תופיע ההודעה "You are too young to drive".

5. תנאי switch

במקום לבדוק הרבה תנאים עם if ו-else if, ניתן להשתמש ב-switch. זה שימושי במיוחד כשיש הרבה תנאים לבדוק על משתנה אחד, כמו תפריטים או מצבים שונים.

התחביר:

switch (ביטוי) {
    case ערך1:
        // קוד שיבוצע אם הביטוי שווה לערך1
        break;
    case ערך2:
        // קוד שיבוצע אם הביטוי שווה לערך2
        break;
    default:
        // קוד שיבוצע אם אף אחד מהתנאים לא מתקיים
}

דוגמה:

let day = 3;

switch (day) {
    case 1:
        console.log("Sunday");
        break;
    case 2:
        console.log("Monday");
        break;
    case 3:
        console.log("Tuesday");
        break;
    case 4:
        console.log("Wednesday");
        break;
    case 5:
        console.log("Thursday");
        break;
    case 6:
        console.log("Friday");
        break;
    case 7:
        console.log("Saturday");
        break;
    default:
        console.log("Invalid day");
}

הסבר:

  • במקרה שהערך של day הוא 3, תופיע ההודעה "Tuesday".
  • אם הערך של day לא תואם לאף אחד מהמקרים, תופיע ההודעה מהחלק של default (במקרה הזה, "Invalid day").

6. אופרטור תנאי (Ternary Operator)

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

  • תנאי, שאלה (?), ופעולות: אם התנאי מתקיים (true), יבוצע קטע קוד אחד, ואם לא, יבוצע הקטע השני.

התחביר:

תנאי ? פעולה אם נכון : פעולה אם לא נכון;

דוגמה:

let age = 17;
let message = (age >= 18) ? "You are an adult" : "You are a minor";

console.log(message); // מציג "You are a minor"

הסבר:

  • אם age גדול מ-18, message יהיה "You are an adult".
  • אחרת, message יהיה "You are a minor".

7. תנאי לוגי עם מספר תנאים

אפשר לשלב מספר תנאים בתוך משפט if באמצעות אופרטורים לוגיים כמו && (וגם) ו-|| (או).

דוגמה:

let age = 25;
let isMember = true;

if (age >= 18 && isMember) {
    console.log("Welcome to the members' area.");
} else {
    console.log("Sorry, you cannot enter.");
}

הסבר:

  • התנאי יתקיים רק אם שני התנאים הם true: הגיל צריך להיות 18 ומעלה, וגם צריך להיות חבר מועדון (isMember).
  • אם אחד התנאים לא מתקיים, תופיע ההודעה "Sorry, you cannot enter".

דוגמה מלאה: תנאים עם if, else if, else, ו-switch

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

let choice = 2;

if (choice === 1) {
    console.log("You selected Pizza.");
} else if (choice === 2) {
    console.log("You selected Burger.");
} else if (choice === 3) {
    console.log("You selected Salad.");
} else {
    console.log("Invalid choice.");
}

// אותו דבר בעזרת switch
switch (choice) {
    case 1:
        console.log("You selected Pizza.");
        break;
    case 2:
        console.log("You selected Burger.");
        break;
    case 3:
        console.log("You selected Salad.");
        break;
    default:
        console.log("Invalid choice.");
}

הסבר:

  • אם choice שווה ל-1, תוצג הודעה על בחירת פיצה.
  • אם choice שווה ל-2, תוצג הודעה על בחירת המבורגר.
  • אם לא קיים ערך מתאים, תוצג הודעה על בחירה לא חוקית.

סיכום

בפרק זה למדנו על:

  1. השימוש ב-if, else if, ו-else לבדיקת תנאים ותגובה בהתאם.
  2. תנאים מקוננים (Nested Conditions) לבדיקות מורכבות יותר.
  3. שימוש ב-switch לבדיקת מספר אפשרויות שונות על אותו משתנה.
  4. שימוש באופרטור התנאי (Ternary Operator) לכתיבת תנאים בצורה מקוצרת.
  5. שילוב מספר תנאים עם אופרטורים לוגיים (&&, ||).

בפרק הבא נצלול לתוך Loops (לולאות) ונלמד כיצד לחזור על פעולות בצורה יעילה עם לולאות כמו for, while, ועוד.

Scroll to Top
דילוג לתוכן