如何在 TypeScript 中使用 switch 语句覆盖多个 if-else 条件?
在本教程中,我们将学习如何在 TypeScript 中使用 switch case 语句覆盖多个 if-else 条件。单个 if-else 语句用于执行条件语句。如果条件成立,则执行 if 块中的语句,否则控制权回退到 else 块并执行其语句。
在某些情况下,开发人员必须在不同的条件下执行代码块。为此,他们需要编写多个 if-else 语句,或编写多个 if-else 语句的阶梯式结构。在这里,我们将 if-else 语句的阶梯式转换为 switch case 语句。
在 TypeScript 中将 If-else 条件转换为 Switch 语句
在这里,我们获取了边数组,并使用 if-else 阶梯式根据人物的年龄显示不同的单词。
// 年龄数组
let ages: Array<number> = [32, 5, 12, 34, 54, 65, 76];
// 不同范围边的 if-else 阶梯式
for (let age of ages) {
if (age <= 10) {
// 打印 childern
} else if (age > 10 && age <= 20) {
// 打印 younger
} else if (age > 20 && age <= 60) {
// 打印 mature man
} else {
// 打印 old man
}
}
现在,我们将上面的 if-else 阶梯语句转换为 switch case 语句。switch case 语句将值作为参数,并为其创建了不同的 case。这里,我们使用不同 case 的条件,返回布尔值。因此,我们将布尔值"true"作为 switch case 的参数传递。
// 年龄数组 let ages: Array= [32, 5, 12, 34, 54, 65, 76]; // 针对不同范围的边使用 switch case 语句 for (let age of ages) { switch (true) { case age <= 10: // 打印 children break; case age > 10 && age <= 20: // 打印年轻人 break; case age > 20 && age <= 60: // 打印成熟男性 break; default: // 打印老年人 } }
在上面的语法中,我们使用 switch case 语句来区分年龄的不同情况。
示例 1
在下面的示例中,我们创建了一个包含从 0 到 80 的不同数字的年龄数组。之后,我们使用 for 循环遍历数组元素,并针对每个元素执行 switch case 语句。
此外,用户可以看到我们使用了 break 关键字来中断语句和默认情况,这相当于 if-else 阶梯中的最后一个 else 块。在输出中,用户可以观察到它根据年龄的值打印不同的单词。
let ages: Array<number> = [32, 5, 12, 34, 54, 65, 76];
for (let age of ages) {
switch (true) {
case age <= 10:
console.log(age + " = child");
break;
case age > 10 && age <= 20:
console.log(age + " = younger");
break;
case age > 20 && age <= 60:
console.log(age + " = mature man");
break;
default:
console.log(age + " = old man");
}
}
编译后,它将生成以下 JavaScript 代码 -
var ages = [32, 5, 12, 34, 54, 65, 76];
for (var _i = 0, ages_1 = ages; _i < ages_1.length; _i++) {
var age = ages_1[_i];
switch (true) {
case age <= 10:
console.log(age + " = child");
break;
case age > 10 && age <= 20:
console.log(age + " = younger");
break;
case age > 20 && age <= 60:
console.log(age + " = mature man");
break;
default:
console.log(age + " = old man");
}
}
输出
上述代码将产生以下输出 -
32 = mature man 5 = child 12 = younger 34 = mature man 54 = mature man 65 = old man 76 = old man
示例 2
在下面的示例中,我们创建了名为 Websites 的枚举,其中包含不同的网站。之后,我们创建了名为 web 的变量,该变量包含枚举中"TutorialsPoint"网站的值。
getWebsites() 函数根据 web 变量的值,使用 switch case 语句打印值。基本上,用户可以从下面的示例中学习如何在 switch case 语句中使用枚举值。
// 为不同的网站创建枚举
enum Websites {
TutorialsPoint,
Tutorix,
}
// 创建包含值 TutorialsPoint 的 web 变量
var web: Websites = Websites.TutorialsPoint;
// 包含 switch case 语句的函数
function getWebsites() {
// web 变量的 switch case 语句
switch (web) {
case Websites.TutorialsPoint:
console.log("You are on TutorialsPoint Website.");
break;
case Websites.Tutorix:
console.log("You are on Tutorix Website.");
break;
}
}
getWebsites(); // get websites
编译后,它将生成以下 JavaScript 代码 -
// 为不同的网站创建枚举
var Websites;
(function (Websites) {
Websites[Websites["TutorialsPoint"] = 0] = "TutorialsPoint";
Websites[Websites["Tutorix"] = 1] = "Tutorix";
})(Websites || (Websites = {}));
// 创建包含值 TutorialsPoint 的 web 变量
var web = Websites.TutorialsPoint;
// 包含 switch case 语句的函数
function getWebsites() {
// 为 web 变量设置 switch case 语句
switch (web) {
case Websites.TutorialsPoint:
console.log("You are on TutorialsPoint Website.");
break;
case Websites.Tutorix:
console.log("You are on Tutorix Website.");
break;
}
}
getWebsites(); // get websites
输出
上述代码将产生以下输出 -
You are on TutorialsPoint Website.
在本 TypeScript 教程中,用户学习了如何将 if-else 阶梯式语句转换为 switch case 语句。在第一个示例中,用户学习了如何使用条件语句来处理 switch 语句的 case。在第二个示例中,用户学习了如何使用枚举值来处理 switch 语句的 case。
此外,用户还学习了如何在 TypeScript 中将 break 和 default 关键字与 switch case 语句结合使用。

