TypeScript · Middle · Frage 16 von 75
Warum nutzt man oft ein Objekt mit as const statt eines enum?
const Status = { Active: 'active', Banned: 'banned' } as const;
type Status = typeof Status[keyof typeof Status];- 1Enums wurden in TypeScript 5 entfernt und kompilieren nicht mehr
- 2
as constläuft zur Laufzeit dutzendfach schneller als ein Enum - 3Es ist ein normales JS-Objekt, und der Werttyp ist eine Union aus Strings
Antwort zeigen
Richtige Antwort: Es ist ein normales JS-Objekt, und der Werttyp ist eine Union aus Strings
Erklärung
Das Objekt ist Standard-JS: Man kann darüber iterieren, und es ist mit dem Modus für entfernbare Syntax (Type Stripping in Node.js) kompatibel. Der Typ ist eine String-Union, die auch Literale aus einer API annimmt. Numerische Enums nehmen dagegen jede Zahl an und erzeugen eine Rückwärtszuordnung. Enums wurden nicht entfernt.