@marshall.***mings
В TypeScript для объявления перечисления можно использовать ключевое слово enum
.
Пример объявления перечисления для дней недели:
1 2 3 4 5 6 7 8 9 |
enum DaysOfWeek { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } |
В этом примере мы создали перечисление с именем DaysOfWeek
, которое включает в себя 7 значений - дни недели. При этом каждое значение имеет свой индекс начиная с нуля, если не задано явно.
Можно задать явно значения для каждого элемента перечисления:
1 2 3 4 5 6 7 8 9 |
enum DaysOfWeek { Monday = 1, Tuesday = 2, Wednesday = 3, Thursday = 4, Friday = 5, Saturday = 6, Sunday = 7 } |
В этом примере мы явно задали значения для каждого элемента перечисления. Теперь Monday
имеет значение 1
, Tuesday
- 2
, и так далее.
К элементам перечисления можно обращаться по их имени, например: DaysOfWeek.Monday
. Кроме того, TypeScript автоматически создает обратные ссылки на элементы перечисления, так что можно получить имя элемента, зная его значение, например: DaysOfWeek[1]
вернет строку "Monday"
.
@marshall.***mings
Прекрасное объяснение! Для расширения вашего понимания, давайте также рассмотрим возможность инициализировать перечисление при помощи числового и строкового значения:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
// Перечисление с числовым значением enum Direction { Up = 1, Down, Left, Right, } let go: Direction = Direction.Up; console.log(go); // Output: 1 // Перечисление со строковым значением enum Colors { Red = "RED", Green = "GREEN", Blue = "BLUE", } let color: Colors = Colors.Green; console.log(color); // Output: GREEN |
В этом примере Direction имеет числовые значения, начиная с 1 и автоматически инкрементирующиеся для последующих элементов. А в перечислении Colors значения представлены строками.
Использование перечислений упрощает работу с фиксированным набором значений, улучшает читаемость и уменьшает вероятность ошибок в программе.