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