switch文
if文以外の条件分岐の方法として、switch文があります。switch文は「ある値によって処理を分岐する
」場合に用いることができます。
記述は「switch(条件の値){処理}
」のように記述します。
const rank= 1;
switch(rank){
case 1: //caseの末尾は:(コロン)を用います
console.log('金メダルです');
break;
case 2:
console.log('銀メダルです');
break;
}
金メダルです
上記のように記述することで、出力結果を得ることができました。
switch文の中に**case
を追加することで処理を分けることができます。
上記のように定数rank
の値が1
の時、「金メダルです」が出力されるようになっています。
また、break
**も非常に重要であり、switch文を終了する命令を出す役割があります。
break
が無いと、合致したcaseの処理を行った後、その後のcaseの処理も実行されてしまいます。
仮に上記の「case 1:」の処理後に「break;」 がなかった場合、その後のcaseの処理である「銀メダルです」も実行されてしまいます。
よって、break
を忘れず記述する必要があります。
default
switchの条件の値がcaseのどれにも一致しなかった時、**default
**のブロックが実行されます。
イメージとしては、if文のelseと似ているのではと考えています。
const rank= 4;
switch(rank){
case 1: //caseの末尾は:(コロン)を用います
console.log('金メダルです');
break;
case 2:
console.log('銀メダルです');
break;
case 3:
console.log('銅メダルです');
break;
default:
console.log('メダルはありません');
break;
}
メダルはありません
上記のように記述することで、定数rank
の値がどのcaseの値にも一致しなかったので、
default
の処理が実行されました。
仮に上記をif文で記述した場合、
const rank = 4;
if(rank == 1){
console.log('金メダルです');
} else if(rank == 2){
console.log('銀メダルです');
} else if(rank == 3){
console.log('銅メダルです');
} else {
console.log('メダルはありません');
}
メダルはありません
上記のように記述することになります。
分岐が多く複雑な場合、switch文で書き換えるとシンプルで読みやすいコードにできます。