TypeScript: Enum
Что такое enum?
enum — тип данных, позволяющий задать набор именованных констант.
Виды enum
Числовые (numeric) — двунаправленные:
enum Result {
Success, // 0
Error, // 1
}Числовые enum двунаправленные: Result.Success === 0 и Result[0] === "Success".
Строковые (string):
enum Result {
Success = "Success",
Error = "Error",
}Гетерогенные (heterogeneous) — смешанные:
enum Result {
Success = 0,
Error = "ERROR",
}Computed — вычисляемые значения:
enum Size {
Small = computeSize("small"),
Medium = computeSize("medium"),
Large = computeSize("large"),
}В enum со строковыми значениями computed-значения не допускаются.
const enum
const enum оптимизирован по производительности: значения вычисляются на этапе компиляции и полностью вырезаются из сгенерированного JavaScript — вместо обращения к объекту enum подставляется само значение.
const enum Direction {
Up,
Down,
Left,
Right,
}