TypeScript で次の列挙型を定義しました。
enum Color{
Red, Green
}
今、私の関数では色を文字列として受け取ります。次のコードを試しました:
var green= "Green";
var color : Color = <Color>green; // Error: can't convert string to enum
その値を列挙型に変換するにはどうすればいいでしょうか?
ベストアンサー1
TypeScript 0.9 の列挙型は文字列 + 数値ベースです。単純な変換には型アサーションは必要ありません。
enum Color{
Red, Green
}
// To String
var green: string = Color[Color.Green];
// To Enum / number
var color : Color = Color[green];
私の OSS ブックには、これと他の Enum パターンに関するドキュメントがあります。タイプシステム
typescript フラグを使用している場合は、必ずこれを使用してください--noImplicitAny
:
var color : Color = Color[green as keyof typeof Color];