LoginSignup
0
0

More than 1 year has passed since last update.

switch文

Last updated at Posted at 2021-05-03

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文で記述した場合、

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文で書き換えるとシンプルで読みやすいコードにできます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0