#DDD #TypeScript [[TypeScriptで多機能なEnumを実装する方法]](名前付きの`static`定数を定義しているのがポイント)を使うべきタイミングについて。 基本的には**Enum like classの抽象実装では表現できない場合**に限ると思っている。 以下のように列挙子を指定して条件分岐が必須の場合。 ```ts if color === Color.RED { // ... } ``` switch文を使う場合も考慮漏れを防ぐために必要。 ```ts switch (color) { case Color.RED: // ... default: } ```