TypeScript · Junior · Pytanie 30 z 75
Czym enum Color { Red, Green } różni się od type Color = 'red' | 'green'?
- ✓Poprawna odpowiedź:
enumtworzy obiekt w runtime; unia literałów istnieje tylko w typach - 2Unia literałów tworzy obiekt w runtime;
enumto tylko typ - 3Niczym: kompilator generuje dla obu ten sam JavaScript
Wyjaśnienie
Zwykły enum kompiluje się do obiektu JS (liczbowy - z odwrotnym mapowaniem). Unia stringów nic nie dodaje do paczki i jest zgodna z JSON i API. Wiele zespołów woli unie lub obiekt as const. Ponadto enumy są niekompatybilne z trybem erasableSyntaxOnly.