TypeScript · Junior · Запитання 30 з 75
Чим enum Color { Red, Green } відрізняється від type Color = 'red' | 'green'?
- ✓Правильна відповідь:
enumстворює об'єкт у рантаймі, union літералів існує лише в типах - 2Union літералів створює об'єкт у рантаймі,
enum- лише тип - 3Нічим: компілятор генерує для них однаковий JavaScript-код
Пояснення
Звичайний enum компілюється в JS-об'єкт (числовий - зі зворотним відображенням). Union рядків нічого не додає в бандл і сумісний із JSON та API. Багато команд віддають перевагу union або об'єкту as const. Крім того, enum несумісний із режимом erasableSyntaxOnly.