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

Как влияет на оптимизацию использование Enum или Object в TypeScript

Использование enum или object в TypeScript влияет на производительность и читаемость кода.

Enum генерирует дополнительный код во время компиляции (IIFE для обратной совместимости), что увеличивает размер бандла. Однако, const enum полностью удаляется при компиляции, заменяясь на значения, что делает его более эффективным.

Object as const (замороженный объект) не генерирует лишний код, но не предоставляет такой же уровень типобезопасности, как enum.

Пример:

typescript
// Enum (генерирует код)
enum Status {
  Active = 'ACTIVE',
  Inactive = 'INACTIVE',
}

// Const enum (удаляется при компиляции)
const enum StatusConst {
  Active = 'ACTIVE',
  Inactive = 'INACTIVE',
}

// Object as const (без генерации кода)
const StatusObj = {
  Active: 'ACTIVE',
  Inactive: 'INACTIVE',
} as const;

Вывод:

  • Для оптимизации бандла лучше использовать const enum или object as const.
  • Обычные enum удобны, но менее эффективны.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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