Typescript-switch-statement

提供:Dev Guides
移動先:案内検索

TypeScript-Switch…caseステートメント

*switch* ステートメントは式を評価し、式の値をcase句に一致させ、そのケースに関連付けられたステートメントを実行します。

構文

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

variable_expressionの値は、スイッチ内のすべてのケースに対してテストされます。 変数がケースの1つと一致する場合、対応するコードブロックが実行されます。 一致するcase式がvariable_expressionの値と一致しない場合、デフォルトブロック内のコードが関連付けられます。

次のルールは、switch文に適用されます-

  • スイッチ内には、任意の数のcaseステートメントを含めることができます。
  • caseステートメントには、定数のみを含めることができます。 変数または式にすることはできません。
  • variable_expressionと定数式のデータ型は一致する必要があります。
  • コードの各ブロックの後にブレークを入れない限り、実行は次のブロックに流れます。
  • ケース式は一意である必要があります。
  • デフォルトのブロックはオプションです。

フローチャート

Switch Case Statement

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