TypeScript 中的條件語句

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}
  • 如果 conditiontrue,則執行以下區塊中的代碼。
  • 如果 conditionfalseanotherConditiontrue,則執行以下區塊中的代碼。
  • 如果沒有條件為 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"

在此情況下,由於 number7,所以將顯示 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 頻道。

YouTube Video