TypeScript Switch…case 语句
switch语句对一个表达式进行评估,将表达式的值与case子句进行匹配,并执行与该case关联的语句。
语法
switch(variable_expression) {
case constant_expr1: {
//statements;
break;
}
case constant_expr2: {
//statements;
break;
}
default: {
//statements;
break;
}
}
变量表达式的值与switch中的所有情况进行比较。如果变量匹配其中一种情况,相应的代码块将会执行。如果没有任何情况匹配变量表达式的值,将执行默认块中的代码。
以下规则适用于switch语句:
- 在switch中可以有任意数量的情况语句。
-
情况语句中只能包含常量,不能是变量或表达式。
-
变量表达式和常量表达式的数据类型必须匹配。
-
除非在每个代码块后面加上break语句,否则执行将流向下一个代码块。
-
情况表达式必须是唯一的。
-
默认块是可选的。
流程图
示例: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;
}
}
这个示例验证变量grade的值与常量集合(A,B,C,D和E)相匹配,并执行相应的代码块。如果变量中的值与上述常量中的任何一个都不匹配,将执行默认代码块。
在编译时,将生成以下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