かつて誰かが、本当に優れたプログラムには if..else がないと言いました。 もちろん、switch は if..else ほど優れたものではありません。 JSの仕様ではスイッチの使用は禁止されています。
コマンド オブジェクトはこの問題を完全に解決します。
海外ブログからの引用:
JavaScript には優れた制御フロー ステートメントがあり、多くの場合中括弧で囲まれています。例外が 1 つあります。switch … case ステートメントです。 switch ... case の奇妙な点は、フロー制御が次の case ステートメントに渡されないように、各 case の最後に Break キーワードを追加する必要があることです。トラバーサルとは、複数のケースを実行する方法を指し、期待されたブレークに遭遇しない場合、制御は自動的に次のケースに渡されます。ただし、セミコロンや中括弧と同様に、ブレークの記述をうっかり忘れてしまう可能性があります。その場合、ステートメント自体は正しいため、後のトラブルシューティングがより困難になります。したがって、ケース ... ブレークをペアで書くことをお勧めします。
私たちは通常、JavaScript にはエレガントなオブジェクト リテラルとトップレベルの関数があり、特定のメソッドのクエリを非常に簡単にしていると言います。メソッド クエリ用に作成されたオブジェクトはアクション オブジェクトまたはコマンド オブジェクトと呼ばれ、強力で便利なコマンド パターンを含む多くのソフトウェア デザイン パターンで使用されます。
例: