Что такое enum в TypeScript и как применять его на практике?

Что такое enum в TypeScript и как применять его на практике? тип данных, предназначенный для перечислений задаёт набор именованных констант бывает числовым (default) и строковым автоматически назначает значения…

Короткий ответ

Что ответить на собеседовании

Что такое enum в TypeScript и как применять его на практике? тип данных, предназначенный для перечислений задаёт набор именованных констант бывает числовым (default) и строковым автоматически назначает значения элементам числового enum поддерживает обратное отображение числовых значений повышает читаемость и безопасность программного кода подходит для фиксированного набора вариантов (статусы, режимы)

Подробный разбор

Ответ с пояснениями

Что такое enum в TypeScript и как применять его на практике?

  • тип данных, предназначенный для перечислений
  • задаёт набор именованных констант
  • бывает числовым (default) и строковым
  • автоматически назначает значения элементам числового enum
  • поддерживает обратное отображение числовых значений
  • повышает читаемость и безопасность программного кода
  • подходит для фиксированного набора вариантов (статусы, режимы)

Развёрнутый ответ

Краткий ответ

Enum в TypeScript — специальная конструкция для описания набора именованных констант. Она делает код более понятным и удобным в сопровождении. По сути, enum объединяет связанные значения под одним именем и применяется, когда набор допустимых вариантов ограничен, например для статусов или направлений.

Основные особенности

  • Типы enum: В TypeScript доступны числовые (numeric enums) и строковые (string enums) варианты. Для числовых enums по умолчанию используются последовательно увеличивающиеся значения, отсчёт начинается с 0; при необходимости значения можно указать явно. Для строковых enums значение требуется задать у каждой константы, благодаря чему отладка становится более наглядной.
  • Обратное отображение: Для числовых enum TypeScript создаёт объект, в котором предусмотрен обратный маппинг: по числовому значению можно получить имя элемента. Это удобно при обработке данных. У строковых энум такая возможность не реализуется.
  • Использование в коде: Enums применяют для описания состояний, кодов ошибок и параметров конфигурации, а также в конструкциях switch/case. Они обеспечивают строгую типизацию и помогают исключить недопустимые значения.

Практический пример применения

В прикладных проектах, например в React с TypeScript 4.x, enums можно использовать для описания статуса запроса: (Loading, Success, Error). Такой подход удобнее и надёжнее строковых литералов, особенно если вариантов много и нужны автодополнение с проверкой типов. При этом в отдельных ситуациях предпочтительнее строковые union-типы: они позволяют лучше оптимизировать результат и уменьшить объём итогового JS-кода.

Пример простого enum:

enum Direction {
Up = 1,
Down,
Left,
Right
}

const move = (dir: Direction) => {
if (dir === Direction.Up) {
console.log("Moving up");
}
};

move(Direction.Left);

Пример демонстрирует, почему именованные константы удобнее, чем "магические числа".

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку