0Pricing
TypeScript Academy · Lektion

Enums: numerische und String-Konstanten

Ersetzen Sie magische Strings und Zahlen durch Enums.

Enums: numerische und String-Konstanten ist eine kostenlose TypeScript Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des TypeScript Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der TypeScript Academy-Kurs umfasst insgesamt 4 Lektionen.

Willkommen

Mit Enums können Sie eine Menge benannter Konstanten definieren. Sie ersetzen schwer verständliche Zahlen und Zeichenfolgen durch lesbare Namen, deren Verwendung TypeScript erzwingt.

Numerische Enums

Standardmäßig werden Enum-Mitgliedern automatisch aufsteigende Zahlen zugewiesen, beginnend bei 0.
enum Direction {
  Up,    // 0
  Down,  // 1
  Left,  // 2
  Right, // 3
}
console.log(Direction.Up); // 0

Benutzerdefinierte Werte für numerische Enums

Sie können einen Startwert festlegen oder einzelne Mitglieder überschreiben. Nachfolgende Mitglieder werden ab dem zuletzt festgelegten Wert automatisch hochgezählt.
enum Status {
  Active = 1,
  Inactive, // 2
  Banned = 100,
}

String-Enums

Für String-Enums muss für jedes Mitglied ein expliziter Wert angegeben werden. In Protokollen und serialisierten Daten sind sie lesbarer als Zahlen.
enum Color {
  Red = 'RED',
  Green = 'GREEN',
  Blue = 'BLUE',
}

Enums in Funktionen verwenden

Verwenden Sie einen Enum-Typ als Parametertyp, um die Werte auf die definierte Menge zu beschränken.
function move(dir: Direction): void {
  console.log('Moving:', Direction[dir]);
}
move(Direction.Up);

Rückwärtszuordnung (nur numerische Enums)

Numerische Enums unterstützen eine Rückwärtszuordnung: Sie können den Namen eines Mitglieds anhand seines Werts ermitteln. String-Enums unterstützen dies nicht.
enum Status { Active = 1, Inactive = 2 }
console.log(Status[1]); // 'Active'
console.log(Status.Active); // 1

const-Enums

`const enum` wird zur Compile-Zeit inline eingefügt – es wird kein JavaScript-Objekt erzeugt. Dadurch wird die Bundle-Größe reduziert, aber die Untersuchung zur Laufzeit eingeschränkt.
const enum Axis { X, Y, Z }
const a = Axis.X; // compiled to: const a = 0;

Enums oder Union-Literaltypen

Viele TypeScript-Entwickler bevorzugen Union-Literaltypen gegenüber Enums. Sie sind schlanker und funktionieren ohne Code zur Laufzeit.
// Enum
enum Dir { Up = 'UP', Down = 'DOWN' }

// Union literal (preferred by many)
type Dir2 = 'UP' | 'DOWN';

Heterogene Enums (vermeiden)

Das Mischen von String- und numerischen Werten in einem Enum ist zwar erlaubt, aber verwirrend. Vermeiden Sie dieses Muster.
// Avoid:
enum Mixed { A = 1, B = 'bee' }

Enums sind zur Laufzeit echte Objekte

Im Gegensatz zu Interfaces und Typ-Aliasen erzeugen Enums JavaScript-Code. Die kompilierte Ausgabe ist ein JavaScript-Objekt mit Zuordnungen sowohl vom Namen zum Wert als auch vom Wert zum Namen (bei numerischen Enums).

Über Enum-Werte iterieren

Verwenden Sie `Object.values()` oder `Object.keys()` für das Enum-Objekt, um zur Laufzeit über seine Mitglieder zu iterieren.
enum Role { Admin = 'ADMIN', User = 'USER', Guest = 'GUEST' }
const roles = Object.values(Role);
console.log(roles); // ['ADMIN', 'USER', 'GUEST']

Kurzer Test

Welcher Enum-Typ unterstützt eine Rückwärtszuordnung (also das Ermitteln des Namens anhand des Werts)?

Zusammenfassung

Enums definieren benannte Konstantenmengen als echte JavaScript-Objekte. Verwenden Sie String-Enums für bessere Lesbarkeit, const-Enums für mehr Performance, und ziehen Sie Union-Literaltypen als schlankere Alternative in Betracht.

Häufig gestellte Fragen

Ist die Lektion „Enums: numerische und String-Konstanten“ kostenlos?

Ja — der vollständige Text von „Enums: numerische und String-Konstanten“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des TypeScript Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der TypeScript Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Enums: numerische und String-Konstanten“?

Ersetzen Sie magische Strings und Zahlen durch Enums. Du übst TypeScript Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um TypeScript Academy zu starten?

Keine Vorkenntnisse erforderlich. TypeScript Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Enums: numerische und String-Konstanten“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser TypeScript Academy-Lektion Code schreiben und ausführen?

Ja. Jede TypeScript Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Typisierte Arrays: T[] und Array
  2. Readonly-Arrays und unveränderliche Daten
  3. Tupel: typisierte Arrays fester Länge
  4. Enums: numerische und String-Konstanten
← Zurück zu TypeScript Academy