摘要:在本教程中,您将了解 TypeScript 的switch...case语句。
TypeScript switch case 语句简介
下面显示了switch...case语句的语法
switch ( expression ) {
case value1:
// statement 1
break;
case value2:
// statement 2
break;
case valueN:
// statement N
break;
default:
//
break;
}Code language: JavaScript (javascript)工作原理
首先,switch...case语句评估expression。
然后,它搜索第一个case子句,其表达式的计算结果与值(value1、value2、…valueN)相同。
switch...case语句将执行第一个值匹配的case子句中的语句。
如果找不到匹配的case子句,则switch...case语句会查找可选的default子句。如果default子句可用,则执行default子句中的语句。
与每个case子句关联的break语句确保一旦case子句中的语句完成,控制权就会退出switch...case语句。
如果匹配的 case 子句没有break语句,则程序执行将继续执行switch...case语句中的下一条语句。
按照惯例,default子句是switch...case语句中的最后一个子句。但是,它不必如此。
TypeScript switch case 语句示例
让我们来看一些使用switch...case语句的示例。
1) 一个简单的 TypeScript switch case 示例
以下示例显示了一个简单的switch...case示例,该示例根据目标 ID 显示一条消息
let targetId = 'btnDelete';
switch (targetId) {
case 'btnUpdate':
console.log('Update');
break;
case 'btnDelete':
console.log('Delete');
break;
case 'btnNew':
console.log('New');
break;
}Code language: JavaScript (javascript)输出
Delete在此示例中,targetId设置为btnDelete。
switch...case语句将targetId与一系列值进行比较。因为targetId与'btnDelete'匹配,所以执行相应case子句中的语句。
2) 分组 case 示例
如果您有一段由多个 case 共享的代码,您可以将它们组合在一起。例如
// change the month and year
let month = 2,
year = 2020;
let day = 0;
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day = 31;
break;
case 4:
case 6:
case 9:
case 11:
day = 30;
break;
case 2:
// leap year
if (((year % 4 == 0) &&
!(year % 100 == 0))
|| (year % 400 == 0))
day = 29;
else
day = 28;
break;
default:
throw Error('Invalid month');
}
console.log(`The month ${month} in ${year} has ${day} days`);Code language: JavaScript (javascript)输出
The month 2 in 2020 has 29 days此示例返回特定月份和年份的天数。
如果月份是 1、3、5、7、8 或 12,则天数为 31。如果月份是 4、6、9 或 11,则天数为 30。
如果月份是 2 且年份是闰年,则返回 29 天,否则返回 28 天。