
- TypeScript 基礎
- TypeScript - 首頁
- TypeScript - 路線圖
- TypeScript - 概述
- TypeScript - 環境搭建
- TypeScript - 基本語法
- TypeScript vs. JavaScript
- TypeScript - 特性
- TypeScript - 變數
- TypeScript - let & const
- TypeScript - 運算子
- TypeScript 基本型別
- TypeScript - 型別
- TypeScript - 型別註解
- TypeScript - 型別推斷
- TypeScript - 數字
- TypeScript - 字串
- TypeScript - 布林值
- TypeScript - 陣列
- TypeScript - 元組
- TypeScript - 列舉
- TypeScript - any
- TypeScript - never
- TypeScript - 聯合型別
- TypeScript - 字面量型別
- TypeScript - 符號
- TypeScript - null vs. undefined
- TypeScript - 類型別名
- TypeScript 控制流
- TypeScript - 決策語句
- TypeScript - if 語句
- TypeScript - if else 語句
- TypeScript - 巢狀 if 語句
- TypeScript - switch 語句
- TypeScript - 迴圈
- TypeScript - for 迴圈
- TypeScript - while 迴圈
- TypeScript - do while 迴圈
- TypeScript 函式
- TypeScript - 函式
- TypeScript - 函式型別
- TypeScript - 可選引數
- TypeScript - 預設引數
- TypeScript - 匿名函式
- TypeScript - 函式構造器
- TypeScript - rest 引數
- TypeScript - 引數解構
- TypeScript - 箭頭函式
- TypeScript 介面
- TypeScript - 介面
- TypeScript - 介面擴充套件
- TypeScript 類和物件
- TypeScript - 類
- TypeScript - 物件
- TypeScript - 訪問修飾符
- TypeScript - 只讀屬性
- TypeScript - 繼承
- TypeScript - 靜態方法和屬性
- TypeScript - 抽象類
- TypeScript - 存取器
- TypeScript - 鴨子型別
- TypeScript 高階型別
- TypeScript - 交叉型別
- TypeScript - 型別守衛
- TypeScript - 型別斷言
- TypeScript 型別操作
- TypeScript - 從型別建立型別
- TypeScript - keyof 型別運算子
- TypeScript - typeof 型別運算子
- TypeScript - 索引訪問型別
- TypeScript - 條件型別
- TypeScript - 對映型別
- TypeScript - 模板字面量型別
- TypeScript 泛型
- TypeScript - 泛型
- TypeScript - 泛型約束
- TypeScript - 泛型介面
- TypeScript - 泛型類
- TypeScript 其他
- TypeScript - 三斜槓指令
- TypeScript - 名稱空間
- TypeScript - 模組
- TypeScript - 環境宣告
- TypeScript - 裝飾器
- TypeScript - 型別相容性
- TypeScript - Date 物件
- TypeScript - 迭代器和生成器
- TypeScript - Mixins
- TypeScript - 實用程式型別
- TypeScript - 裝箱和拆箱
- TypeScript - tsconfig.json
- 從 JavaScript 到 TypeScript
- TypeScript 有用資源
- TypeScript - 快速指南
- TypeScript - 有用資源
- TypeScript - 討論
TypeScript - switch…case 語句
在 TypeScript 中,switch 語句會評估一個表示式,將表示式的值與 case 子句匹配,並執行與該 case 關聯的語句。
可以使用多個 if...else 語句來實現類似的功能。但是,這並不是最佳方法,尤其是在所有分支都依賴於單個值時。
語法
TypeScript 中 switch case 的語法如下:
switch(variable_expression) { case constant_expr1: { //statements; break; } case constant_expr2: { //statements; break; } default: { //statements; break; } }
變量表達式的值將針對 switch 中的所有 case 進行測試。如果變數與其中一個 case 匹配,則執行相應的程式碼塊。如果沒有任何 case 表示式與變量表達式的值匹配,則執行 default 塊中的程式碼。
switch 語句適用以下規則:
switch 中可以包含任意數量的 case 語句。
case 語句只能包含常量。它不能是變數或表示式。
變量表達式的型別和常量表達式的型別必須匹配。
除非在每個程式碼塊之後放置 break,否則執行將流入下一個程式碼塊。
case 表示式必須唯一。
default 塊是可選的。
流程圖
下面的流程圖解釋了 switch-case 語句的工作原理。

示例:switch…case
var grade:string = "A"; switch(grade) { case "A": { console.log("Excellent"); break; } case "B": { console.log("Good"); break; } case "C": { console.log("Fair"); break; } case "D": { console.log("Poor"); break; } default: { console.log("Invalid choice"); break; } }
此示例將變數 grade 的值與一組常量 (A、B、C、D 和 E) 進行比較,並執行相應的程式碼塊。如果變數中的值與上面提到的任何常量都不匹配,則將執行 default 塊。
編譯後,將生成以下 JavaScript 程式碼:
var grade = "A"; switch (grade) { case "A": { console.log("Excellent"); break; } case "B": { console.log("Good"); break; } case "C": { console.log("Fair"); break; } case "D": { console.log("Poor"); break; } default: { console.log("Invalid choice"); break; } }
以上程式碼將產生以下輸出:
Excellent
示例:無 break 語句
當您在 switch 語句中不使用 break 語句時,將繼續執行下一個 case,而不會終止它。
在下面的示例中,我們沒有在任何 case 中使用 break 語句。它會執行所有 case 並列印相應的值。
var grade: string = 'A'; console.log("Entering switch block"); switch(grade) { case "A": { console.log("Excellent"); } case "B": { console.log("Good"); } case "C": { console.log("Fair"); } case "D": { console.log("Poor"); } default: { console.log("Invalid choice"); } } console.log("Exiting switch block");
編譯後,將生成以下 JavaScript 程式碼。
var grade = 'A'; console.log("Entering switch block"); switch (grade) { case "A": { console.log("Excellent"); } case "B": { console.log("Good"); } case "C": { console.log("Fair"); } case "D": { console.log("Poor"); } default: { console.log("Invalid choice"); } } console.log("Exiting switch block");
以上示例程式碼的輸出如下:
Entering switch block Excellent Good Fair Poor Invalid choice Exiting switch block
廣告