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 语句

示例: 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