Встречается на собеседованиях • сегодня

В чем разница между Enum и Object в TypeScript

Enum и Object в TypeScript служат разным целям, несмотря на схожесть.

  • Enum создает именованный набор констант, который компилируется в объект, но предоставляет строгую типизацию.
    typescript
    enum Status { Active, Inactive } // Status.Active = 0
  • Object — это обычный JS-объект, который можно использовать для хранения пар ключ-значение, но без встроенной типизации значений.
    typescript
    const Status = { Active: 0, Inactive: 1 } as const;

Ключевые отличия:

  1. Типизация: Enum автоматически типизирует значения, Object требует as const для точных литералов.
  2. Обратная совместимость: Enum генерирует дополнительный код при компиляции, Object остается как есть.
  3. Использование: Enum удобен для фиксированных наборов, Object — для динамических данных.

Выбор зависит от задачи: Enum для строгих констант, Object — для гибкости.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы