例えば
enum Example {
緑茶
麦茶
紅茶
珈琲
}
というEnum
を使って比較をする時に、
if(key === +Example.緑茶)
という比較を書くか
if(Example[key] === "緑茶")
という風に書くかどっちがいいのかがわからなかったので調べてみた。
if(key ===Example.緑茶)のほうが保守性が高い
理由としては、まずExample.緑茶
という風に書くことで型推論が効きタイポが起きにくくなる。
Example[key] === "緑茶"
と書くときは型推論が効かないので、青茶って書いても何も教えてれない。
if (Example[key] === "青茶") {
}
こう書いてもエラーが出ない。
これ以外にメリットがありそうだったけど、これが最大のメリットな気がする。
そういうことでEnum
を直接比較したほうが良い。