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

В чем разница между enum и const enum

enum и const enum в TypeScript оба используются для создания перечислений, но есть ключевые различия:

  1. Генерация кода
    • enum создаёт реальный объект в скомпилированном JavaScript.
    • const enum полностью удаляется при компиляции, заменяясь на значения.
  1. Использование

    • enum можно использовать динамически (например, Object.keys(MyEnum)).
    • const enum только для статического доступа (MyEnum.Value).
  2. Оптимизация
    const enum предпочтительнее, если нужна производительность, так как не генерирует лишний код.

typescript
// enum (остаётся в JS)
enum Direction {
  Up = 'UP',
  Down = 'DOWN'
}
console.log(Direction.Up); // 'UP'

// const enum (исчезает после компиляции)
const enum Status {
  Active = 1,
  Inactive = 0
}
console.log(Status.Active); // заменяется на console.log(1)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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