鶏口牛後な日々

心の赴くまま、やりたいことを仕事に。

【JavaScript備忘】JavaScriptのSwitch文でcaseに条件式を入れたい

If else文を習ったら、大体の場合次は「switch」文ではないかと思います。

Switch文は、caseに値を設定し、その値に一致するかどうかで、実行することを変えるというときに使うのがデフォルトです。

 

こういうかんじ。

---------------------

var rank = 'C';
switch(rank){
    case 'A' :
        document.writeln('あなたはAランクです');
        break;
    case 'B' :
        document.writeln('あなたはBランクです');
        break;
    case 'C' :
        document.writeln('あなたはCランクです');
        break;
    case 'D' :
        document.writeln('あなたはDランクです');
        break;
    default :
        document.writeln('あなたはランク外です');
}

---------------------

 

これを試してみると、次に、caseの中に条件式を入れたくなるのが人情ではないでしょうか。

調べてみたら、できるそうです。

注意点は、「case(true)」と書くところ。これをカッコ内に変数とか入れちゃうと動きません。

 

---------------------

var x = 3;
switch(true) {
    case x > 3:
        alert("3より大きいです");
        break;
    case x > 0 && x <= 3 :
        alert("0より大きいけど3以下です。");
        break;
    default:
        alert("0より小さいです");
}
 ---------------------

 

これは、0以上3以下ということなので、2つ目のcaseに入り、「0より大きいけど3以下です。」というアラートが出ます。

 

ただ、これを使うのは、賛否両論あるようで、学校によっては条件式になるような場合は、if else文で書くように教えるようです。

 

賛否両論の詳細については、以下記事が詳しく書いてくれていました。

以上。