ES6 - switch…case 语句

switch 语句计算表达式的值,将表达式的值与 case 子句进行匹配,并执行与该 case 相关的语句。

Following is the syntax.

switch(variable_expression) {
   case constant_expr1: {
      //statements;
      break;
   }
   case constant_expr2: {
      //statements;
      break;
   }
   default: {
      //statements;
      break;
   }
}

将根据 switch 中的所有情况测试 variable_expression 的值。如果变量与其中一个情况匹配,则执行相应的代码块。如果没有 case 表达式与 variable_expression 的值匹配,则将关联默认块内的代码。

以下规则适用于 switch 语句 −

  • switch 中可以有任意数量的 case 语句。
  • case 语句只能包含常量。它不能是变量或表达式。
  • 变量表达式和常量表达式的数据类型必须匹配。
  • 除非在每个代码块后都放置一个 break,否则执行将进入下一个块。
  • case 表达式必须是唯一的。
  • 默认块是可选的。

流程图

决策

示例:switch…case

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

该示例根据常量集(A、B、C、D 和 E)验证变量 grade 的值,并执行相应的块。如果变量中的值与上述任何常量都不匹配,则将执行默认块。