條件語句用於基於不同的條件來執行不同的動作。
TypeScript 條件語句是透過一條或多條語句的執行結果(True 或 False)來決定執行的程式碼塊。
可以透過下圖來簡單瞭解條件語句的執行過程:
條件語句
通常在寫程式碼時,您總是需要為不同的決定來執行不同的動作。您可以在程式碼中使用條件語句來完成該任務。
在 TypeScript 中,我們可使用以下條件語句:
- if 語句 - 只有當指定條件為 true 時,使用該語句來執行程式碼
- if...else 語句 - 當條件為 true 時執行程式碼,當條件為 false 時執行其他程式碼
- if...else if....else 語句- 使用該語句來選擇多個程式碼塊之一來執行
- switch 語句 - 使用該語句來選擇多個程式碼塊之一來執行
if 語句
TypeScript if 語句由一個布林表示式後跟一個或多個語句組成。
語法
語法格式如下所示:
if(boolean_expression){
# 在布林表示式 boolean_expression 為 true 執行
}
如果布林表示式 boolean_expression為 true,則 if 語句內的程式碼塊將被執行。如果布林表示式為 false,則 if 語句結束後的第一組程式碼(閉括號後)將被執行。
流程圖
例項
var num:number = 5
if (num > 0) {
console.log("數字是正數")
}
編譯以上程式碼得到如下 JavaScript 程式碼:
var num = 5;
if (num > 0) {
console.log("數字是正數");
}
執行以上 JavaScript 程式碼,輸出結果為:
數字是正數
if...else 語句
一個 if 語句後可跟一個可選的 else 語句,else 語句在布林表示式為 false 時執行。
語法
語法格式如下所示:
if(boolean_expression){
# 在布林表示式 boolean_expression 為 true 執行
}else{
# 在布林表示式 boolean_expression 為 false 執行
}
如果布林表示式 boolean_expression 為 true,則執行 if 塊內的程式碼。如果布林表示式為 false,則執行 else 塊內的程式碼。
流程圖
例項
TypeScript
var num:number = 12;
if (num % 2==0) {
console.log("偶數");
} else {
console.log("奇數");
}
編譯以上程式碼得到如下 JavaScript 程式碼:
JavaScript
var num = 12;
if (num % 2 == 0) {
console.log("偶數");
}
else {
console.log("奇數");
}
執行以上 JavaScript 程式碼,輸出結果為:
偶數
if...else if....else 語句
if...else if....else 語句在執行多個判斷條件的時候很有用。
語法
語法格式如下所示:
if(boolean_expression 1) {
# 在布林表示式 boolean_expression 1 為 true 執行
} else if( boolean_expression 2) {
# 在布林表示式 boolean_expression 2 為 true 執行
} else if( boolean_expression 3) {
# 在布林表示式 boolean_expression 3 為 true 執行
} else {
# 布林表示式的條件都為 false 時執行
}
需要注意以下幾點:
- 一個 if 判斷語句可以有 0 或 1 個 else 語句,她必需在 else..if 語句後面。
- 一個 if 判斷語句可以有 0 或多個 else..if,這些語句必需在 else 之前。
- 一旦執行了 else..if 內的程式碼,後面的 else..if 或 else 將不再執行。
例項
TypeScript
var num:number = 2
if(num > 0) {
console.log(num+" 是正數")
} else if(num < 0) {
console.log(num+" 是負數")
} else {
console.log(num+" 不是正數也不是負數")
}
編譯以上程式碼得到如下 JavaScript 程式碼:
JavaScript
var num = 2;
if (num > 0) {
console.log(num + " 是正數");
}
else if (num < 0) {
console.log(num + " 是負數");
}
else {
console.log(num + " 不是正數也不是負數");
}
執行以上 JavaScript 程式碼,輸出結果為:
2 是正數
switch…case 語句
一個 switch 語句允許測試一個變數等於多個值時的情況。每個值稱為一個 case,且被測試的變數會對每個 switch case 進行檢查。
switch 語句的語法:
switch(expression){
case constant-expression :
statement(s);
break; /* 可選的 */
case constant-expression :
statement(s);
break; /* 可選的 */
/* 您可以有任意數量的 case 語句 */
default : /* 可選的 */
statement(s);
}
switch 語句必須遵循下面的規則:
- switch 語句中的 expression 是一個要被比較的表示式,可以是任何型別,包括基本資料型別(如 number、string、boolean)、物件型別(如 object、Array、Map)以及自定義型別(如 class、interface、enum)等。
- 在一個 switch 中可以有任意數量的 case 語句。每個 case 後跟一個要比較的值和一個冒號。
- case 的 constant-expression 必須與 switch 中的變數 expression 具有相同或相容的資料型別。
- 當被測試的變數等於 case 中的常量時,case 後跟的語句將被執行,直到遇到 break 語句為止。
- 當遇到 break 語句時,switch 終止,控制流將跳轉到 switch 語句後的下一行。
- 不是每一個 case 都需要包含 break。如果 case 語句不包含 break,控制流將會 繼續 後續的 case,直到遇到 break 為止。
- 一個 switch 語句可以有一個可選的 default case,出現在 switch 的結尾。default 關鍵字則表示當表示式的值與所有 case 值都不匹配時執行的程式碼塊。default case 中的 break 語句不是必需的。
流程圖
例項
TypeScript
var grade:string = "A";
switch(grade) {
case "A": {
console.log("優");
break;
}
case "B": {
console.log("良");
break;
}
case "C": {
console.log("及格");
break;
}
case "D": {
console.log("不及格");
break;
}
default: {
console.log("非法輸入");
break;
}
}
編譯以上程式碼得到如下 JavaScript 程式碼:
JavaScript
var grade = "A";
switch (grade) {
case "A": {
console.log("優");
break;
}
case "B": {
console.log("良");
break;
}
case "C": {
console.log("及格");
break;
}
case "D": {
console.log("不及格");
break;
}
default: {
console.log("非法輸入");
break;
}
}
執行以上 JavaScript 程式碼,輸出結果為:
優