今回はJavaScriptでのswitch文の使い方について、書いています。
使い方と基本的な動作検証を確認した後に、3パターンのサンプルコードを書いています。
JavaScript入門シリーズの前回は、JavaScriptの配列について書きました。
switch文の使い方は?
switch文は条件を分岐させるための構文になります。
実際に使う場合は、下記のように使用します。
let value = 2;
switch(value) {
case 1:
alert("値は1です。");
break;
case 2:
alert("値は2です。");
break;
case 3:
alert("値は3です。");
break;
default:
alert("デフォルトです。");
break;
}
switch
に値を渡すことで、判定させることができます。
switch(value)
でvalue
変数を判定させて、条件分岐しています。
case
に同じ(=
)になる条件をいくつか書いています。
switch
に指定した値が、case
に書いた値に該当するときに、処理されます。
今回はvalue
に「2」が入っているので、alert
で「値は2です」が出力されます。
break
はcase
から抜けて、処理をするために必要です。
case
にbreak
がない場合は、下に抜けて処理が続きます。
例えば、今回の場合で下記のようにbreak
文がない場合は、「値は2です」「値は3です」という形でalertが2回実行されます。
switch(value) {
case 1:
alert("値は1です。");
break;
case 2:
alert("値は2です。");
case 3:
alert("値は3です。");
break;
}
default
はcase
の条件に該当しない場合に処理されます。
今回の場合だと、value
が1
・2
・3
でない場合です。
4
や5
などの場合は、default
で処理されることになります。
switch文を書いてみよう
実際にswitch文の処理を書いて実行してみましょう。
switchTest.html
という名前で、下記のファイルを作成してください。
<html>
<head>
<meta charset="UTF-8" />
<title>switch文のテスト</title>
<script>
function switchTest() {
let value = 2;
switch(value){
case 1:
alert("値は1です。");
break;
case 2:
alert("値は2です。");
break;
case 3:
alert("値は3です。");
break;
default:
alert("デフォルトです。");
break;
}
}
</script>
</head>
<body>
<button onclick="switchTest()">switch文のテスト</button>
</body>
</html>
ボタンをひとつ用意して、ボタンをクリックすると自作したswitchTest
関数が動くようにしました。
switchTest
関数の処理ですが、value
変数を作った後に2
を入れています。
その後にswitch
文を使用して、value
変数の値を判定しています。
value
変数の値は2なので、アラートで「値は2です。」が表示されて、処理が終了します。
動作確認をする
作ったHTMLファイルを開いて、動作を確認してみましょう。
ファイルを開くと、下記のようにHTMLで設置したボタンが表示されます。
クリックすると、このように「値は2です。」が表示されました。
switch文を使用した3パターンのコード
switch文を使用したサンプルコードをいくつか書いてみました。
先ほどのswitchTest
関数の内容を書き換えると、動かすことが可能です。
breakを削除してみる
break
を書いていた箇所を下記のように削除します。
function switchTest() {
let value = 2;
switch(value){
case 1:
alert("値は1です。");
case 2:
alert("値は2です。");
case 3:
alert("値は3です。");
default:
alert("デフォルトです。");
}
}
こうするとvalue
が2
なので、まずcase 2
の処理をします。
そして、break
文がないため、次のcase 3
のアラート表示もされます。
case 3
にもbreak
がないため、最後にdefault
の処理が行われて、3回アラートが出るようになります。
caseに無い値を設定する
下記のように、case
として用意されていない値をvalue
変数に入れます。
function switchTest() {
let value = 99;
switch(value){
case 1:
alert("値は1です。");
break;
case 2:
alert("値は2です。");
break;
case 3:
alert("値は3です。");
break;
default:
alert("デフォルトです。");
break;
}
}
そうするとcase
にないため、結果としてdefault
の箇所が処理されて「デフォルトです。」が表示されます。
文字列を設定する
文字列でも、もちろん判定可能です。
下記のように関数の内容を変更して、試してみます。
function switchTest() {
let value = '夏';
switch(value){
case '春':
alert("あたたかくなってきました");
break;
case '夏':
alert("暑いですね");
break;
case '秋':
alert("涼しくなってきました");
break;
case '冬':
alert("寒いですね");
break;
default:
alert("デフォルトです");
break;
}
}
value
に夏
が入っています。
switch
を使用して、value
の値を判定しています。
case '夏'
に該当するので、「暑いですね」のアラートが表示されて、処理が終了します。
おわりに
今回はJavaScriptでのswitch文について見ていきました。
条件が単純にイコールになる場合は、if文ではなくて、こちらのswitch文を使用していくと良いです。
理由としては簡潔でコードが見やすくなるかと思います。
break
のつけ忘れや、default
の条件にも気をつけて使っていきたいですね。
コメント