文法のきほん

INPUT · スライド

どれにも当てはまらないとき

01 / 04

一致しないと素通りする

switch はどの case にも一致しなかったとき、何もせずに終わる。エラーも出ないので、動かないことに気づきにくい。

下の例では みどり がどの case にもないので、信号の表示が丸ごと抜けてしまっているよ。

const signal = "みどり";switch (signal) {  case "あお":    console.log("すすむ");    break;  case "あか":    console.log("とまる");    break;}console.log("かくにんおわり");

実行結果

かくにんおわり

02 / 04

default で受け止める

そこで使うのが defaultどの case にも一致しなかったときに動くよ。

case と違って値は書かない。ifelse にあたる役だと思えばいいよ。

const signal = "みどり";switch (signal) {  case "あお":    console.log("すすむ");    break;  case "あか":    console.log("とまる");    break;  default:    console.log("しんごうがよめない");}

実行結果

しんごうがよめない

03 / 04

default は最後に置く

default は一番下に書くのが決まりごと。一番下なら、そこから流れ込む先がないので break を書かなくてよい

一致する case があるときは default は動かない。あくまで「残り全部」の受け皿だよ。

const size = "M";switch (size) {  case "S":    console.log("ちいさい");    break;  case "M":    console.log("ふつう");    break;  default:    console.log("そのサイズはないよ");}

実行結果

ふつう

04 / 04

想定外に備えるということ

default を書くのは、単に分岐を増やすためじゃない。想定していない値が来たときに気づけるようにするためだよ。

「そんな値は来ないはず」と思っていても、来たときに黙って何も起きないのが一番こわい。ここから書いてみよう。