JavaScriptのswitch文について具体的に解説します!

JavaScript

JavaScriptのswitch文とは

switchはif文のような条件文です。switchは、指定した式の戻り値に基づいて複数のコードブロックのうちの1つを実行したい場合に便利です。

基本的な構文は以下の通りです。

switch(条件式){
    case 1:
        //処理1
      break;
    case 2:
        //処理2
        break;
    case n:
        //処理n
        break;
    default:
        //いずれのcaseにも当てはまらなかった場合の処理
}

上記の構文にあるように、switch文には式またはリテラル値が含まれます。

式は評価されると値を返します。switchは複数のケースを含むことができ、各ケースは特定の値を表します。

caseの値がswitch式の戻り値と等しい場合、特定のcaseに属するコードが実行されます。また、どのケースもswitch式の値と一致しない場合、デフォルトのケースが実行されます。

let a = 2;

switch (a) {
    case 1:
        console.log('case1 です');
        break;
    case 2:
        console.log("case2 です");
        break;
   case 3:
        console.log("case3 です");
        break;
    case 4:
        console.log("case4 です");
        break;
    default:
        console.log("default case です");
}

上の例では、switch文にリテラル値が式として含まれています。そのため、リテラル値にマッチしたケース(上の例ではケース2)が実行されます。

switch文が式の場合

switch文は式を含むこともできます。その場合、式の結果にマッチするケースが実行されます。

let a = 2;

switch (a/2) {
    case 1:
        console.log("case 1 です");
        break;
    case 2:
        console.log("case 2 です");
        break;
    case 3:
        console.log("case 3 です");
        break;
    case 4:
        console.log("case 4 です");
        break;
    default:
        console.log("default case です");
}

上の例では、switch文にa / 2という式があり、これが1を返します(a = 2だから)。つまり、上の例ではケース1が実行されることになります。

switchには、文字列型の式も入れることができます。

let name = "Tanaka";

switch (name) {
    case "Tanaka":
        console.log("This is Tanaka");
    case "Sato":
        console.log("This is Sato");
        break;
    case "Ohno":
        console.log("This is Ohno");
        break;
    default:
        console.log("Unknown Person");
        break;
}

複数のcaseをまとめる場合

複数のケースをswitch文で組み合わせることもできます。

let a = 2;

switch (a) {
    case 1:
    case 2:
    case 3:
        console.log("case 1, 2, 3");
        break;
    case 4:
        console.log("case 4");
        break;
    default:
        console.log("default case");
}
タイトルとURLをコピーしました