TypeScript 中的條件語句
在本文中,我們將解釋 TypeScript 中的條件語句。
YouTube Video
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 語句可以提高程式碼的可靠性。
TypeScript 中的 Switch 語句
TypeScript 中的 switch 語句是一種控制結構,用於根據多個條件進行程式碼分支。與其使用 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:對多個 case 執行相同的處理
如果你想對多個 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終止處理。 - 如果沒有任何
case匹配,則執行default區塊。 - 也可以對多個
case執行相同的操作。
TypeScript 中的 switch 語句有助於在保持程式碼可讀性的同時,高效地處理多個條件。
您可以在我們的 YouTube 頻道上使用 Visual Studio Code 來跟隨上述文章一起學習。 請也查看我們的 YouTube 頻道。