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

Какие знаешь проблемы Enum

Enums в TypeScript имеют несколько потенциальных проблем:

  1. Числовые enums могут быть небезопасными — они допускают невалидные значения:
typescript
enum Status {
  Active = 1,
  Inactive = 2
}
const s: Status = 999; // Ошибки не будет
  1. Обратное маппинг может сбивать с толку:
typescript
enum Color { Red = 1 }
console.log(Color[1]); // "Red" - не всегда ожидаемое поведение
  1. Tree-shaking — enums генерируют реальный код в runtime, что мешает удалению неиспользуемого кода.

  2. Строковые enums не поддерживают обратное маппинг вообще.

  3. Const enums решают проблему tree-shaking, но требуют preserveConstEnums и не работают в изолированных модулях.

Альтернатива — использовать union types:

typescript
type Status = 'active' | 'inactive';
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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