TypeScriptのEnumのループはObject.entries()で実現可能

TypeScriptのEnumのループはObject.entries()で実現可能:

TypeScriptのEnumはObject.entries()でループが可能だったのでメモ。


EnumはJSでどのように表示されるか

export enum Hoge { 
  FOO, 
  BAR, 
  PIYO 
} 
というEnumを記述すると、以下のようなJSにトランスパイルされる。

export var Hoge; 
(function (Hoge) { 
    Hoge[Hoge["FOO"] = 0] = "FOO"; 
    Hoge[Hoge["BAR"] = 1] = "BAR"; 
    Hoge[Hoge["PIYO"] = 2] = "PIYO"; 
})(Hoge || (Hoge = {})); 
早い話がJS内ではオブジェクトに変換されているということなので、Object.entries()を使えば要素ごとのループが可能ということがわかる。ということで、

Object.entries(Hoge).forEach(([key, value]) => { 
  console.log(key, value) 
}) 
 
/* 
0 FOO 
1 BAR 
2 PIYO 
と出力 
*/ 


と書けばOK。

コメント

このブログの人気の投稿

投稿時間:2021-06-17 22:08:45 RSSフィード2021-06-17 22:00 分まとめ(2089件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)