@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 значения представлены строками.
Использование перечислений упрощает работу с фиксированным набором значений, улучшает читаемость и уменьшает вероятность ошибок в программе.