Cast int to enum strings in Typescript
Solution 1:
Enums in TypeScript are numbers at runtime, so message.type
will be 0
, 1
, 2
or 3
.
To get the string value, you need to pass that number into the enum as an index:
Type[0] // "Info"
So, in your example, you'll need to do this:
Type[message.type] // "Info" when message.type is 0
Docs
Solution 2:
Enums in TypeScript are objects at runtime that have properties that go from int -> string
and from string -> int
for all possible values.
To access the string value you will need to call:
Type[0] // "Info"
Make sure that you are passing the correct type into the property accessor though because chained calls can result in the following:
Type[Type.Info] // "Info"
Type[Type[Type.Info]] // 0
Type["Info"] // 0
Type[0] // "Info"
Solution 3:
I think with
{{message.type}}
you just get the mapped value and not the enum. Please try following code.
{{TYPE[message.type]}}