
【TypeScript】enumを使ったっていいじゃないか
BRANK
TypeScriptで定数をどのように表現するか、というのは意外に意見が分かれるテーマです。本稿では、enumの特徴とその代替手段を整理し、何を採用すべきかを考えてみます。enumを推奨しないという意見が多いのは知っていても、何故そう言われているのか、を理解していますか?「使ってはダメ」と思考停止するのではなく、この記事を読むことでメリット・デメリットを理解して自分で選択できるようになる、かもしれません!列挙型(enum)とはenumはJavaScriptにはないTypeScript独自の構文で、定数を集合としてまとめて扱うことができます。enum Mode { Auto = 'Auto', UDP = 'UDP', TCP = 'TCP', } const mode: Mode = Mode.Auto 文字列だけでなく、数値を列挙することも可能です。次のように書くと値の定義を省略して自動的に0から連番を与えることができます。enum Mode { Auto, UDP, TCP, } console.log(Mode.TCP) また、名前を逆引きすることもできます。enum Mode { Auto, UDP, TCP, } console.log(Mode[0]) 利用シーン例えば、数値フラグによって関数の挙動が変わる場合、数値を直接与えるとその挙動がソースコードから予測しづらいです。こういっ…