TypeScript - 選擇語句:初學者指南
你好啊,未來的編程超新星!今天,我們將深入探討 TypeScript 中最有用的控制流程結構之一:選擇語句(switch statement)。別擔心如果你之前從未寫過一行代碼——我會一步一步地引導你,就像我這些年來對無數學生所做的那樣。所以,拿起你喜歡的飲料,我們開始吧!
選擇語句是什麼?
在我們深入細節之前,讓我們先了解選擇語句是什麼,以及它為什麼如此有用。想像你是一家餐廳的服務員。一位顧客進來點了一道菜。根據他點的菜,你需要去廚房不同的工作站。這正是編程中選擇語句的作用——它根據一個值來決定執行哪段代碼。
語法:選擇語句的配方
現在,讓我們來看看選擇語句的語法。把這當作我們將遵循來創建我們自己的選擇語句的配方。
switch (expression) {
case value1:
// 要執行的代碼
break;
case value2:
// 要執行的代碼
break;
...
default:
// 如果沒有匹配的case,則執行的代碼
}
讓我們分解一下:
-
switch
:這個關鍵字告訴 TypeScript 我們正在開始一個選擇語句。 -
(expression)
:這是我們正在檢查的值。 -
case value1:
:如果表達式匹配這個值,下面 的代碼將會運行。 -
break
:這告訴 TypeScript 我們已完成這個case,並退出選擇語句。 -
default
:這就像 if-else 語句中的 "else"。如果沒有其他case匹配,它會運行。
流程圖:選擇語句的路線圖
為了直觀地了解選擇語句是如何工作的,讓我們來看看一個流程圖:
+-------------+
| 開始 |
+-------------+
|
v
+-------------------+
| 檢查表達式 |
+-------------------+
|
v
+---------------------+
| 第一個case匹配嗎?|
+---------------------+
| |
是| 否|
| |
v v
+------------+ +---------------------+
|執行第一個| |第二個case匹配嗎? |
|case代碼块| +---------------------+
+------------+ | |
| 是| 否|
| | |
| v v
| +------------+ +-----------+
| |執行第二個| | ...更多 |
| |case代碼块| | case |
| +------------+ +-----------+
| | |
| | |
| | v
| | +-----------+
| | | 執行默認 |
| | | 代碼块 |
| | +-----------+
| | |
v v v
+-------------+
| 結束 |
+-------------+
這個流程圖展示了 TypeScript 如何評估每個 case 並在找到匹配時執行相應的代碼塊。
示例:程序員的一天
讓我們來看一個真實世界的例子。想像我們正在創建一個根據星期幾給建議的程序。以下是如何使用選擇語句:
let day: string = "Monday";
let advice: string;
switch (day) {
case "Monday":
advice = "開始你強大的週!";
break;
case "Tuesday":
advice = "保持動力!";
break;
case "Wednesday":
advice = "你已完成一半!";
break;
case "Thursday":
advice = "在週五之前再推一把!";
break;
case "Friday":
advice = "TGIF!堅持到底!";
break;
case "Saturday":
case "Sunday":
advice = "享受你的週末!";
break;
default:
advice = "那不是有效的日子!";
}
console.log(advice);
在這個例子中:
- 我們聲明一個變量
day
並將它設為 "Monday"。 - 我們創建一個選擇語句來檢查
day
的值。 - 為每一天我們設置不同的建議。
- 注意周六和周日共享相同的建議——我們可以這樣堆疊 case!
- 如果有人輸入一個無效的日子,我們的默認 case 會捕獲它。
當我們運行這段代碼時,它會輸出:"開始你強大的週!"
break
語句的重要性
現在,你可能會想,"那些 break
語句是幹什麼的?" 好奇的朋友,讓我告訴你,當我們忘記包含它們時會發生什麼:
let fruit: string = "apple";
let response: string;
switch (fruit) {
case "apple":
response = "一天一個蘋果,醫生遠離我!";
case "banana":
response = "香蕉富含鉀!";
case "orange":
response = "橙子富含維生素C!";
default:
response = "我不太瞭解那種水果。";
}
console.log(response);
你能猜出這段代碼會輸出什麼嗎?如果你猜的是 "我不太瞭解那種水果。",那麼你答對了!但為什麼呢?
沒有 break
語句,TypeScript 會繼續為所有其餘的 case 執行代碼,這種行為被稱為 "fall-through"(穿透)。在我們的例子中,它匹配 "apple",但然後繼續通過所有其他 case,最終達到默認 case。
這種行為在某些情況下可能很有用,但通常不是我們想要的。這就是為什麼記住你的 break
語句是如此重要!
結論:在代碼中切換
好了,我的 TypeScript 初學者們!我們已經穿越了選擇語句的土地,從它們的基本語法到它們的內部工作原理,甚至還有潛在的陷阱。記住,選擇語句就像是代碼的交通控制器,根據不同的值來指導流程。
在你們的編程冒險中,你會發現選擇語句是工具箱中無價的工具。它們可以使你的代碼更乾淨、更高效,尤其是在處理多個條件時。
繼續練習,保持好奇心,在你成為專家的路上,你會發現自己能夠像專業人士一樣切換代碼!快樂編程,並記住——在編程的世界裡,每一天都是學習新事物的機會!
方法 | 描述 |
---|---|
switch |
開始一個選擇語句 |
case |
在選擇語句中定義一個 case |
break |
在匹配 case 後退出選擇語句 |
default |
如果沒有其他 case 匹配,則定義默認 case |
Credits: Image by storyset