さようなら、TypeScript enum
ARANK

フロントエンドエンジニアの今村です。TypeScriptではenumを使わずunion型を使いましょう、という話を書きます。 モチベーション 何を今さら、と思う方もいるかもしれません。 TypeScriptのunion型はenum的なものを表現可能であり、基本的にenumよりもunion型を使うべき、という意識を持っているTypeScriptプログラマーはすでに少なからずいるのではないかと思います。しかし、ではenumの使用はいかなる場合も避けるべきなのか、そうでないとしたらどのような基準でenumとunion型を使い分けるべきなのか、といった点について、広く合意の取れたガイドラインはなさそうです(少なくとも私は知りません)。この結果、コードレビューなどで少しやりづらさを感じることがあったので、白黒つけてしまいたいという気持ちからこのブログを書いています。 結論としては、enumは全面的に禁止し、常にunion型を使うのが分かりやすいと考えます。TypeScriptの世界でこの考えに一定の合意が得られ、プログラマーが当たり前のようにリンターでenumの使用を禁止し、enumかunion型かで悩んだり、コードレビューで議論したりすることがなくなればいいと思います。 Stack Overflowでも、enumと…

kabuku.co.jp
Related Topics: TypeScript
1 comments