ぼちぼちあしあと

プログラム初心者の備忘録です。

switch文の書き方

switch文の書き方について書いておく。

switch(条件式の左辺){

    case 条件式の右辺一つ目:

        処理

        break;

    case 条件式の右辺二つ目:

        処理

        break;

(中略)

    default:

        処理

の形で書く。いかに具体的なコードの例を記す。

let i = 20200308;

switch(i % 3){
    case 0:  // ;でないことに注意
        console.log("iは3の倍数です");
        break;  // break文を忘れないように
    case 1:  // break文を省略した場合、次のcaseの処理も実行される
    case 2:
        console.log("iは3の倍数ではありません");
        break;
    default:
        console.log("iに整数を入力してください");
        // defaultに関してはbreakは必要なし
}

出力は当然

iは3の倍数です

となる。

これはif文でも書けて、

if (i % 3 === 0){  // switch文は型・内容ともに等しいかどうかチェックする(cf.厳密等価演算子)
    console.log("iは3の倍数です");
} else if (i % 3 === 1 || i % 3 === 2){  // ||はorを表している
    console.log("iは3の倍数ではありません");
} else {
    console.log("iに整数を入力してください");
}

とおんなじ。 switch文だとbreak文を書き忘れそうだから忌避されがちなんだとか。

2020.03.10追記

default文は不要なら省略することも可能。if文においてelse ifやelseを省略することがあるのと同じ。