case 式は、ラベル付き式の集合から評価する式を選択するときに使用します。この評価は、ラベルと比較されるテスト値に基づいて行われます。
ラベル付き式がブロック式である可能性もあるので、実行するコード ブロックから選んだ case 式をケース ステートメントとして使用できます。
ここで、<expr> はテスト式、<cases> は一連のラベル付き式です。
特殊ラベル default をオプションで使用することにより、他のラベルがテスト式にマッチしないときに評価される式にタグを指定できます。
default ラベルが使用されない場合は、テスト式にマッチするラベルがないため、 case 式は undefined を返します。
ラベルとは、数リテラル、名前リテラル、文字列リテラル、変数、またはブロック式などの要素 <factors> のことです。
case 式が評価されると、いったんテスト式が評価され、比較結果がテスト式の値に等しい式が見つかるまで各ラベル式が順に評価されていきます。
次にラベルが付く式が評価され、それが case 式全体の結果になります。
テスト式が提供されない場合、ラベルはすべてブール値か式であると予想され、 true に評価された最初のラベルが選択されます。
このバリアントではラベルを式として使用するのが一般的なので、次のように必ずラベルをカッコで囲んでください。