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