1、TypeScript 條件語(yǔ)句
條件語(yǔ)句用于基于不同的條件來(lái)執(zhí)行不同的動(dòng)作。
TypeScript 條件語(yǔ)句是通過(guò)一條或多條語(yǔ)句的執(zhí)行結(jié)果(True 或 False)來(lái)決定執(zhí)行的代碼塊。
可以通過(guò)下圖來(lái)簡(jiǎn)單了解條件語(yǔ)句的執(zhí)行過(guò)程:
2、條件語(yǔ)句
通常在寫(xiě)代碼時(shí),您總是需要為不同的決定來(lái)執(zhí)行不同的動(dòng)作。您可以在代碼中使用條件語(yǔ)句來(lái)完成該任務(wù)。
在 TypeScript 中,我們可使用以下條件語(yǔ)句:
- if 語(yǔ)句 - 只有當(dāng)指定條件為 true 時(shí),使用該語(yǔ)句來(lái)執(zhí)行代碼
- if...else 語(yǔ)句 - 當(dāng)條件為 true 時(shí)執(zhí)行代碼,當(dāng)條件為 false 時(shí)執(zhí)行其他代碼
- if...else if....else 語(yǔ)句 - 使用該語(yǔ)句來(lái)選擇多個(gè)代碼塊之一來(lái)執(zhí)行
- switch 語(yǔ)句 - 使用該語(yǔ)句來(lái)選擇多個(gè)代碼塊之一來(lái)執(zhí)行
3、if 語(yǔ)句
TypeScript if 語(yǔ)句由一個(gè)布爾表達(dá)式后跟一個(gè)或多個(gè)語(yǔ)句組成。
語(yǔ)法
語(yǔ)法格式如下所示:
if(boolean_expression){
# 在布爾表達(dá)式 boolean_expression 為 true 執(zhí)行
}復(fù)制
如果布爾表達(dá)式 boolean_expression為 true,則 if 語(yǔ)句內(nèi)的代碼塊將被執(zhí)行。如果布爾表達(dá)式為 false,則 if 語(yǔ)句結(jié)束后的第一組代碼(閉括號(hào)后)將被執(zhí)行。
流程圖
實(shí)例
var num:number = 5 if (num > 0) { console.log("數(shù)字是正數(shù)") }
編譯以上代碼得到如下 JavaScript 代碼:
var num = 5; if (num > 0) { console.log("數(shù)字是正數(shù)"); }
執(zhí)行以上 JavaScript 代碼,輸出結(jié)果為:
數(shù)字是正數(shù)
4、if...else 語(yǔ)句
一個(gè) if 語(yǔ)句后可跟一個(gè)可選的 else 語(yǔ)句,else 語(yǔ)句在布爾表達(dá)式為 false 時(shí)執(zhí)行。
語(yǔ)法
語(yǔ)法格式如下所示:
if(boolean_expression){
# 在布爾表達(dá)式 boolean_expression 為 true 執(zhí)行
}else{
# 在布爾表達(dá)式 boolean_expression 為 false 執(zhí)行
}
如果布爾表達(dá)式 boolean_expression 為 true,則執(zhí)行 if 塊內(nèi)的代碼。如果布爾表達(dá)式為 false,則執(zhí)行 else 塊內(nèi)的代碼。
流程圖
實(shí)例
5、TypeScript
var num:number = 12; if (num % 2==0) { console.log("偶數(shù)"); } else { console.log("奇數(shù)"); }復(fù)制
編譯以上代碼得到如下 JavaScript 代碼:
6、JavaScript
var num = 12; if (num % 2 == 0) { console.log("偶數(shù)"); } else { console.log("奇數(shù)"); }復(fù)制
執(zhí)行以上 JavaScript 代碼,輸出結(jié)果為:
偶數(shù)
7、if...else if....else 語(yǔ)句
if...else if....else 語(yǔ)句在執(zhí)行多個(gè)判斷條件的時(shí)候很有用。
語(yǔ)法
語(yǔ)法格式如下所示:
if(boolean_expression 1) {
# 在布爾表達(dá)式 boolean_expression 1 為 true 執(zhí)行
} else if( boolean_expression 2) {
# 在布爾表達(dá)式 boolean_expression 2 為 true 執(zhí)行
} else if( boolean_expression 3) {
# 在布爾表達(dá)式 boolean_expression 3 為 true 執(zhí)行
} else {
# 布爾表達(dá)式的條件都為 false 時(shí)執(zhí)行
}
需要注意以下幾點(diǎn):
- 一個(gè) if 判斷語(yǔ)句可以有 0 或 1 個(gè) else 語(yǔ)句,她必需在 else..if 語(yǔ)句后面。
- 一個(gè) if 判斷語(yǔ)句可以有 0 或多個(gè) else..if ,這些語(yǔ)句必需在 else 之前。
- 一旦執(zhí)行了 else..if 內(nèi)的代碼,后面的 else..if 或 else 將不再執(zhí)行。
實(shí)例
8、TypeScript
var num:number = 2 if(num > 0) { console.log(num+" 是正數(shù)") } else if(num < 0) { console.log(num+" 是負(fù)數(shù)") } else { console.log(num+" 不是正數(shù)也不是負(fù)數(shù)") }復(fù)制
編譯以上代碼得到如下 JavaScript 代碼:
9、JavaScript
var num = 2; if (num > 0) { console.log(num + " 是正數(shù)"); } else if (num < 0) { console.log(num + " 是負(fù)數(shù)"); } else { console.log(num + " 不是正數(shù)也不是負(fù)數(shù)"); }復(fù)制
執(zhí)行以上 JavaScript 代碼,輸出結(jié)果為:
2 是正數(shù)
10、switch…case 語(yǔ)句
一個(gè) switch 語(yǔ)句允許測(cè)試一個(gè)變量等于多個(gè)值時(shí)的情況。每個(gè)值稱(chēng)為一個(gè) case,且被測(cè)試的變量會(huì)對(duì)每個(gè) switch case 進(jìn)行檢查。
switch 語(yǔ)句的語(yǔ)法:
switch(expression){
case constant-expression :
statement(s);
break; /* 可選的 */
case constant-expression :
statement(s);
break; /* 可選的 */
/* 您可以有任意數(shù)量的 case 語(yǔ)句 */
default : /* 可選的 */
statement(s);
}
switch 語(yǔ)句必須遵循下面的規(guī)則:
- switch 語(yǔ)句中的 expression 是一個(gè)要被比較的表達(dá)式,可以是任何類(lèi)型,包括基本數(shù)據(jù)類(lèi)型(如 number、string、boolean)、對(duì)象類(lèi)型(如 object、Array、Map)以及自定義類(lèi)型(如 class、interface、enum)等。
- 在一個(gè) switch 中可以有任意數(shù)量的 case 語(yǔ)句。每個(gè) case 后跟一個(gè)要比較的值和一個(gè)冒號(hào)。
- case 的 constant-expression 必須與 switch 中的變量 expression 具有相同或兼容的數(shù)據(jù)類(lèi)型。
- 當(dāng)被測(cè)試的變量等于 case 中的常量時(shí),case 后跟的語(yǔ)句將被執(zhí)行,直到遇到 break 語(yǔ)句為止。
- 當(dāng)遇到 break 語(yǔ)句時(shí),switch 終止,控制流將跳轉(zhuǎn)到 switch 語(yǔ)句后的下一行。
- 不是每一個(gè) case 都需要包含 break 。如果 case 語(yǔ)句不包含 break ,控制流將會(huì) 繼續(xù) 后續(xù)的 case,直到遇到 break 為止。
- 一個(gè) switch 語(yǔ)句可以有一個(gè)可選的 default case,出現(xiàn)在 switch 的結(jié)尾。default 關(guān)鍵字則表示當(dāng)表達(dá)式的值與所有 case 值都不匹配時(shí)執(zhí)行的代碼塊。default case 中的 break 語(yǔ)句不是必需的。
流程圖
實(shí)例
11、TypeScript
var grade:string = "A";
switch(grade) {
case "A": {
console.log("優(yōu)");
break;
}
case "B": {
console.log("良");
break;
}
case "C": {
console.log("及格");
break;
}
case "D": {
console.log("不及格");
break;
}
default: {
console.log("非法輸入");
break;
}
}
編譯以上代碼得到如下 JavaScript 代碼:
12、JavaScript
var grade = "A";
switch (grade) {
case "A": {
console.log("優(yōu)");
break;
}
case "B": {
console.log("良");
break;
}
case "C": {
console.log("及格");
break;
}
case "D": {
console.log("不及格");
break;
}
default: {
console.log("非法輸入");
break;
}
}
執(zhí)行以上 JavaScript 代碼,輸出結(jié)果為:
優(yōu)
審核編輯 黃宇
-
鴻蒙
+關(guān)注
關(guān)注
57文章
2376瀏覽量
42922
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論