前回はif – else文について、記載してみました。
今回はswitch文について書いています。これも条件分岐するために用意されている構文です。
こちらではswitch文の概念を学んだ後に、実際にjavascriptのコードを見て、switch文の使い方を理解していきます。
それぞれのプログラミング言語で、使用方法が少し違ったりするので、本記事では概念やイメージを掴んでもらえると良いかと思っています。
それでは、switch文を確認していきましょう。
switch文とは?
switch文はプログラムの中で、条件分岐をするための構文になります。
基本的には単一の値に対して、caseで条件を複数書いて分岐していきます。
実際にコードを見て確認していきましょう。
switch文を使用したコードを見てみよう
if – else文をswitch文に書き換えてみる
例えば、if – else文で、このように書いている処理があるとします。
let fruit = "apple";
if (fruit === "grape") {
console.log("ぶどうです。");
} else if(fruit === "lemon") {
console.log("れもんです。");
} else if(fruit === "apple") {
console.log("りんごです。");
}
この処理は、最後の”apple”の条件が効いて“りんごです。”が出力されます。
これをswitch文を使用した場合に、このように書くことができます。
let fruit = "apple";
switch (fruit) {
case "grape":
console.log("ぶどうです。");
break;
case "lemon":
console.log("れもんです。");
break;
case "apple":
console.log("りんごです。");
break;
}
switch文はこのように書きます。
switchから始まって、丸括弧()
の中に評価したい変数を渡します。
switch (fruit) {
渡された変数の内容で、case文の条件によって分岐することが可能です。
breakは処理が終わった後に、switchを抜けるために書きます。
上記のコードでbreakが書いていなかった場合について考えてみます。
例えば”変数がgrape”だったら、上から順に“ぶどうです。”, “れもんです。”…と出力されていきます。
これを利用して、下記のように複数のcase文をまとめて、処理することもできます。
switch (food) {
case "tomato":
case "apple":
console.log("赤いです。");
break;
case "banana":
console.log("黄色いです。");
break;
}
上記コードでは、”tomato”または”apple”が入力されていると、どちらも“赤いです。”が出力されます。
単純なif – else文の場合は、switch文を使った方が、見やすくスッキリするので使用した方が良いです。
Go言語のようにbreakを書かない場合もあるので、詳しくはそれぞれの言語仕様を確認しましょう。
defaultについて
switch文の中で、case文とbreak文を使うことがわかったかと思います。
その他に、default文というものがあります。
default文は、どのcaseにも一致しない場合に処理されます。
if – else文で言うところのelseのように、何にも一致しない時に処理される項目です。
javascriptのswitch文で書いてみると、このようになります。
let fruit = "onion";
switch (fruit) {
case "grape":
console.log("ぶどうです。");
break;
case "lemon":
console.log("れもんです。");
break;
case "apple":
console.log("りんごです。");
break;
default:
console.log("果物じゃないですね。");
}
まず、fruitに”onion”という文字列を入れています。
どのケースにも属さないため、ここでの出力は“果物じゃないですね。”となります。
おわりに
今回はプログラミングで使用されるswitch文について見ていきました。
switch文のイメージは掴んでいただけましたでしょうか。
プログラミング言語によって書き方が違うので、それぞれ使いたい言語の仕様を確認して活用していきましょう。
コメント