הצהרות תנאי ב-TypeScript

הצהרות תנאי ב-TypeScript

במאמר זה נסביר את הצהרות התנאי ב-TypeScript.

YouTube Video

הצהרות If ב-TypeScript

if ב-TypeScript, הצהרת if מבצעת הסתעפות המפעילה קוד אם התנאי הנתון הוא true ואינה מפעילה אותו אם התנאי הוא false. הצהרת if משתמשת באותה תחביר כמו ב-JavaScript ומנצלת את בדיקות הסוגים של TypeScript לביצוע הסתעפות מותנית.

תחביר בסיסי

התחביר הבסיסי של הצהרת ה-if הוא כדלקמן.

1if (condition) {
2    // Code to execute if the condition is true
3} else if (anotherCondition) {
4    // Code to execute if the first condition is false
5    // and the another condition is true
6} else {
7    // Code to execute if all conditions are false
8}
  • אם condition הוא true, הקוד שבבלוק הבא יתבצע.
  • אם condition הוא false ו-anotherCondition הוא true, הקוד שבבלוק הבא יתבצע.
  • אם אף אחד מהתנאים אינו true, הקוד שבבלוק ה-else האחרון יתבצע.

דוגמה 1: הצהרת if-else בסיסית

בדוגמה הבאה, נבדק האם המשתנה x הוא 10 או גדול יותר ומוציא את התוצאה.

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

דוגמה 2: הצהרת if-else if-else

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

 1let score: number = 85;
 2
 3if (score >= 90) {
 4    console.log("Excellent");
 5} else if (score >= 70) {
 6    console.log("Passed");
 7} else {
 8    console.log("Failed");
 9}
10// Outputs: Passed

דוגמה 3: הצהרת if עם בדיקת סוג

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

 1let value: any = "Hello";
 2
 3if (typeof value === "string") {
 4    console.log("The value is a string: " + value);
 5} else if (typeof value === "number") {
 6    console.log("The value is a number: " + value);
 7} else {
 8    console.log("The value is of another type");
 9}
10// Outputs: "The value is a string: Hello"

דוגמה 4: הצהרות if מקוננות

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

 1let age: number = 25;
 2let isMember: boolean = true;
 3
 4if (age >= 18) {
 5    if (isMember) {
 6        console.log("You are a member and 18 years old or older");
 7    } else {
 8        console.log("You are not a member but 18 years old or older");
 9    }
10} else {
11    console.log("You are under 18 years old");
12}
13// Output
14// You are a member and 18 years old or older

מפעיל תנאי תלת-ערכי (אופרטור תנאי)

תחביר

1condition ? valueIfTrue : valueIfFalse

אם אתה רוצה לכתוב הצהרת if בקצרה רבה יותר, אתה יכול להשתמש במפעיל התנאי התלת-ערכי.

דוגמה

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

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

סיכום

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

ב-TypeScript, שימוש בהצהרות if תוך התחשבות בבדיקות סוגים יכול לשפר את מהימנות הקוד.

הצהרות Switch ב-TypeScript

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

תחביר בסיסי

 1switch (expressionToEvaluate) {
 2    case value1:
 3        // Code to execute if the expression evaluates to value1
 4        break;
 5    case value2:
 6        // Code to execute if the expression evaluates to value2
 7        break;
 8    default:
 9        // Code to execute if none of the conditions match
10}

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

דוגמה 1: הצהרת switch בסיסית

בדוגמה שלמטה, ניתן מספר המייצג יום בשבוע (0 עד 6), ומוצג שם היום המתאים על סמך הערך הזה.

 1let day: number = 3;
 2
 3switch (day) {
 4    case 0:
 5        console.log("Sunday");
 6        break;
 7    case 1:
 8        console.log("Monday");
 9        break;
10    case 2:
11        console.log("Tuesday");
12        break;
13    case 3:
14        console.log("Wednesday");
15        break;
16    case 4:
17        console.log("Thursday");
18        break;
19    case 5:
20        console.log("Friday");
21        break;
22    case 6:
23        console.log("Saturday");
24        break;
25    default:
26        console.log("Invalid day");
27}
28// Outputs: Wednesday

דוגמה 2: שימוש ב-default

default שימושי כי הוא פועל כאשר אף אחת מהצהרות ה-case אינה תואמת, ומאפשר לטפל בערכים לא צפויים.

 1let statusText: string = "pending";
 2
 3switch (statusText) {
 4    case "success":
 5        console.log("Operation succeeded");
 6        break;
 7    case "error":
 8        console.log("An error occurred");
 9        break;
10    case "pending":
11        console.log("Processing");
12        break;
13    default:
14        console.log("Unknown status");
15}
16// Outputs: Processing

דוגמה 3: ביצוע אותו תהליך למספר cases

אם ברצונך לבצע פעולה זהה עבור מספר הצהרות case, תוכל לרשום אותן ברציפות.

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

דוגמה 4: התנהגות כאשר לא נכלל break

אי הכללת break מובילה להתנהגות של "מעבר רציף" שבה גם ה-case הבא מתבצע.

 1let rank: number = 1;
 2
 3switch (rank) {
 4    case 1:
 5        console.log("Gold");
 6    case 2:
 7        console.log("Silver");
 8    case 3:
 9        console.log("Bronze");
10    default:
11        console.log("Not ranked");
12}
13// Outputs:
14// Gold
15// Silver
16// Bronze
17// Not ranked

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

סיכום

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

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

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

YouTube Video