switch文
今まで勉強してきた条件分岐のif文は、2通りにしか分岐できませんでした。 即ち「条件に合っている」「条件に合っていない」の2種類です。 これ以上分岐させるには、if文を何重にも重ねて書く必要があります。
ここで解説するswich文は、一回で何通りにも分岐させることができる条件分岐命令です。 ではswitch文を使って、「本日の曜日」を表示する方法について学んでみることにしましょう。
switch文のサンプルスクリプト
HTMLのbody内に、以下のように記入してみて下さい。
<script type="text/javascript">
<!--
//曜日取得
var TODAY = new Date();
var WEEK = TODAY.getDay();
//条件分岐
switch(WEEK){
case 0: document.write("今日は日曜日です!"); break;
case 1: document.write("今日は月曜日です!"); break;
case 2: document.write("今日は火曜日です!"); break;
case 3: document.write("今日は水曜日です!"); break;
case 4: document.write("今日は木曜日です!"); break;
case 5: document.write("今日は金曜日です!"); break;
default : document.write("今日は土曜日です!");break;
}
// -->
</script>
サンプル(別窓)
上記のサンプルを見てみると、本日の曜日が表示されると思います。 曜日取得の部分は別のところで詳しく説明しますが、 変数TODAYに今日の日付データ一式を格納し、 変数WEEKにTODAYの中の「曜日」にあたるデータを代入しています。
曜日に該当するデータは数字で表されます。日曜日が0で月曜が1,…,土曜日が6となります。 この数字を調べて条件分岐させると、本日の曜日を表示させることができるわけです。
switch文の説明
ではswitch文を見てみましょう。switchの後に括弧があって、 そこに条件となる変数等を指定します。 上の場合は、WEEKに入っている数字が分岐対象となります。 switchによる条件分岐群一まとまりは、中括弧で囲みます。
次に、各条件はcaseという文字の後ろに指定します。 上記の場合は、6つの条件に分けています。 caseの後に空白を挟み、WEEKの値を記入します。 そして半角コロン「:」を記入し、その後に条件に合った場合の処理を記入します。
case内の条件の最後にbreakというのがあります。 これは、switch文を抜け出しなさいという命令文です。 breakは必ず記入しなければなりません。 例えば上記の式でWEEKの値が日曜日(0)だとします。 まずcase 0:内の処理を実行します。ここでbreakが無いと、後のcase 1,2,3…と全ての条件の処理も実行してしまいます。 そうならないよう、breakで抜け出すようにします。
最後の行に、defaultというのがあります。 これは、その他の条件という意味です。 case文でWEEK値が0〜5まで分岐していますが、 それ以外の数字の場合はdefault内の処理を実行することになります。 土曜日はWEEKの値が6になるので、defaultの処理が実行されるわけです。
上記ではcase文(default文)を1行で書いていますが、 別に複数行に分けて書いても構いません。 最後にbreakを入れるのを忘れないようにしてください。
以上で条件分岐文は終わりです。 次から繰り返し文を説明しますが、 その前に配列変数について述べます。 配列と繰り返し文は相性が良く、一緒に用いることもよくあります。