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