Как работать с перечислениями (enums) в TypeScript?
Перечисления (enums) в TypeScript - это мощный инструмент, который позволяет создавать удобные и читаемые наборы констант, имеющие логическую взаимосвязь. Они помогают улучшить читаемость кода и позволяют использовать более описательные обозначения вместо "магических" строк или чисел.
Основы использования перечислений
Синтаксис создания перечислений довольно прост. Давайте рассмотрим базовый пример:
enum Direction {
Up = 1,
Down,
Left,
Right,
}
В этом примере мы создали перечисление Direction
, которому задаем значения 1, 2, 3 и 4 для каждого направления. Если не указать значение для других членов перечисления, они автоматически получат значение, на единицу больше предыдущего.
Использование перечислений
Вы можете использовать перечисления в коде так:
function move(direction: Direction) {
switch (direction) {
case Direction.Up:
console.log("Мы движемся вверх!");
break;
case Direction.Down:
console.log("Мы движемся вниз!");
break;
case Direction.Left:
console.log("Мы движемся влево!");
break;
case Direction.Right:
console.log("Мы движемся вправо!");
break;
default:
console.log("Неизвестное направление!");
break;
}
}
// Вызов функции
move(Direction.Up); // Вывод: Мы движемся вверх!
Строковые перечисления
Кроме числовых перечислений, TypeScript также поддерживает строковые перечисления, которые могут быть более удобными для некоторых ситуаций.
enum FileAccess {
None = "Ничего",
Read = "Чтение",
Write = "Запись",
ReadWrite = "Чтение и Запись",
}
Использование строковых перечислений аналогично:
function displayAccess(access: FileAccess) {
console.log(`Доступ: ${access}`);
}
displayAccess(FileAccess.Read); // Вывод: Доступ: Чтение
Объединения и перечисления
С помощью перечислений вы также можете использовать объединенные типы. Давайте представим, что у вас есть несколько состояний, которые могут быть объединены в одно значение:
enum State {
Pending,
Approved,
Rejected,
}
function handleState(state: State) {
if (state === State.Approved) {
console.log("Заявка одобрена");
}
}
Заключение
Перечисления в TypeScript - это полезный инструмент, который позволяет улучшить организованность и читабельность вашего кода. Используйте их, чтобы обозначать наборы связанных значений, и вы обнаружите, что ваш код становится более понятным и поддерживаемым. Не забывайте о возможности использования как числовых, так и строковых перечислений, в зависимости от ваших потребностей.