TypeScript - Switch…case 语句
switch 语句计算表达式,将表达式的值与 case 子句匹配,并执行与该 case 关联的语句。
语法
switch(variable_expression) {
case constant_expr1: {
//statements;
break;
}
case constant_expr2: {
//statements;
break;
}
default: {
//statements;
break;
}
}
根据开关中的所有情况测试variable_expression 的值。 如果变量与其中一种情况匹配,则执行相应的代码块。 如果没有 case 表达式与变量表达式的值匹配,则关联默认块中的代码。
以下规则适用于 switch 语句 −
一个 switch 中可以有任意数量的 case 语句。
case 语句只能包含常量。 它不能是变量或表达式。
变量表达式和常量表达式的数据类型必须匹配。
除非您在每个代码块后放置一个中断,否则执行将进入下一个块。
case 表达式必须是唯一的。
默认块是可选的。
流程图
示例: switch…case
var grade:string = "A";
switch(grade) {
case "A": {
console.log("Excellent");
break;
}
case "B": {
console.log("Good");
break;
}
case "C": {
console.log("Fair");
break;
}
case "D": {
console.log("Poor");
break;
}
default: {
console.log("Invalid choice");
break;
}
}
该示例根据常量集(A、B、C、D 和 E)验证变量 Grade 的值并执行相应的块。 如果变量中的值与上述任何常量都不匹配,则将执行默认块。
编译时,它将生成以下 JavaScript 代码 −
//Generated by typescript 1.8.10
var grade = "A";
switch (grade) {
case "A": {
console.log("Excellent");
break;
}
case "B": {
console.log("Good");
break;
}
case "C": {
console.log("Fair");
break;
}
case "D": {
console.log("Poor");
break;
}
default: {
console.log("Invalid choice");
break;
}
}
上面的代码将产生以下输出 −
Excellent
typescript_decision_making.html

