TypeScript で string から enum に変換したいときに、
毎回、as any
とか as enum名
とか書くのが面倒で、
enum 毎に、下記のような関数を用意して使っています。
TypeScript
1enum Color { 2 Red, 3 Green, 4 Blue, 5} 6export default Color; 7 8namespace Color { 9 export function fromString(str: string): Color { 10 return (Color as any)[str] as Color; 11 } 12} 13 14const b: Color = Color.fromString('Blue'); 15console.log(b);
ただ、この書き方だと、
- enum 毎に毎回関数を作らないといけないのが面倒
- tslint で以下のように怒られるので非推奨な書き方なのだろうと思われる
'namespace' and 'module' are disallowed (no-namespace)
という問題があり、
こういう場合に便利な書き方は無いでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/20 13:48
2019/10/20 13:59
2019/10/20 14:25
2019/10/20 14:55