例えば


enum Example {
  緑茶
  麦茶
  紅茶
  珈琲
}

というEnumを使って比較をする時に、

if(key === +Example.緑茶)

という比較を書くか

if(Example[key] === "緑茶")

という風に書くかどっちがいいのかがわからなかったので調べてみた。

if(key ===Example.緑茶)のほうが保守性が高い

理由としては、まずExample.緑茶という風に書くことで型推論が効きタイポが起きにくくなる。

Example[key] === "緑茶"と書くときは型推論が効かないので、青茶って書いても何も教えてれない。

if (Example[key] === "青茶") {
}

こう書いてもエラーが出ない。

これ以外にメリットがありそうだったけど、これが最大のメリットな気がする。

そういうことでEnumを直接比較したほうが良い。