if文でも多重分岐することはできますが、チェックする条件変数が1つの時はswitch文を利用した多重分岐が効率的です。JavaScriptのswitch文はCやJavaのswitch文ととてもよく似ています。switch文の構文は次のようになります。
switch文の構文
switch(expression){ case value1: 文; break; case value2: 文; break; ... case valuen: 文; break; default: 文; break; }
switch文が実行されるとexpressionの値を求め、その値に一致するcaseラベルを求めます。一致するcaseラベルがあればそのcaseラベルに続くコードブロックを実行します。一致するcaseラベルがなければdefault:という特別なcaseラベルを探し、それに続くコードブロックを実行します。caseラベルもdefault:もなければそのコードブロックをスキップします
キーワードbreakがあると、switch文またはループの最後に処理が移動します。上の例では、各々のcaseラベルにbreakが記述してあるためそれぞれのcaseラベルのコードブロックを実行してswitch文が終了します。もしbreakキーワードが抜けていれば、値が一致するcaseラベルから、連続した複数のcaseラベルのコードブロックが実行されることになります。また、caseラベルには数値だけでなく、任意の式を記述することができます。caseラベルでの値の比較は等値演算子(==)ではなく同値演算子(===)によって行われるため、型変換は行われません。