התניה מותנית בג'אווהסקריפט
מאמר זה מסביר התניה מותנית בג'אווהסקריפט.
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 בערוץ היוטיוב שלנו. נא לבדוק גם את ערוץ היוטיוב.