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