摘要:在本教程中,您将了解 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 天。