So verwenden Sie Enums in TypeScript Schritt für Schritt
Enums in TypeScript sind eine Möglichkeit, eine Reihe benannter Konstanten zu definieren, die zur Darstellung einer Sammlung verwandter Werte verwendet werden können. Sie machen Code lesbarer und wartbarer, indem sie diesen Werten benutzerfreundliche Namen geben. Diese Anleitung führt Sie Schritt für Schritt durch die Verwendung von Enums in TypeScript und behandelt ihre Typen, Vorteile und praktische Beispiele.
Was ist eine Enumeration?
Ein enum (kurz für "enumeration") ist ein spezieller Datentyp in TypeScript, mit dem Sie eine Reihe benannter Konstanten definieren können. Diese benannten Konstanten können numerische oder Zeichenfolgenwerte darstellen, wodurch Ihr Code aussagekräftiger und weniger fehleranfällig wird.
Arten von Enumerationen in TypeScript
Es gibt drei Arten von Enumerationen in TypeScript:
- Numerische Enumerationen
- Zeichenfolgenaufzählungen
- Heterogene Enumerationen
Numerische Enumerationen
Numerische Enumerationen sind die Standardeinstellung in TypeScript. Sie sind eine Reihe benannter Werte, denen automatisch numerische Werte zugewiesen werden, beginnend bei 0 oder bei Angabe eines benutzerdefinierten Startwerts.
Einfaches numerisches Enumerationsbeispiel
Unten sehen Sie ein einfaches Beispiel einer numerischen Aufzählung:
enum Direction {
Up,
Down,
Left,
Right
}
let move: Direction = Direction.Up;
console.log(move); // Output: 0
In diesem Beispiel hat die Enumeration Direction
vier Mitglieder: Up
, Down
, Left
und Right
. Standardmäßig wird Up
der Wert 0
zugewiesen, Down
ist 1
und so weiter. Sie können für die Mitglieder auch benutzerdefinierte numerische Werte angeben.
Numerische Aufzählung mit benutzerdefinierten Werten
Sie können den Enumerationsmitgliedern benutzerdefinierte Werte zuweisen:
enum Status {
New = 1,
InProgress,
Done = 5,
Cancelled
}
console.log(Status.New); // Output: 1
console.log(Status.InProgress); // Output: 2
console.log(Status.Done); // Output: 5
console.log(Status.Cancelled); // Output: 6
In diesem Beispiel wird Neu
auf 1
gesetzt, InProgress
wird automatisch auf 2
gesetzt, Erledigt
wird auf 5
gesetzt und Abgebrochen
wird automatisch auf 6
gesetzt.
Zeichenfolgenaufzählungen
String-Enums sind ein weiterer Enumerationstyp, bei dem jedes Mitglied mit einem String-Literal initialisiert wird, was sie besser lesbar und einfacher zu debuggen macht.
Einfaches String-Enum-Beispiel
Unten sehen Sie ein Beispiel für eine Zeichenfolgenaufzählung:
enum Direction {
Up = "UP",
Down = "DOWN",
Left = "LEFT",
Right = "RIGHT"
}
let move: Direction = Direction.Left;
console.log(move); // Output: "LEFT"
In diesem Beispiel wird jedes Enumerationselement mit einem Zeichenfolgenwert initialisiert. Im Gegensatz zu numerischen Enumerationen haben Zeichenfolgen-Enumerationen keine automatisch inkrementierten Werte.
Heterogene Enumerationen
Heterogene Enumerationen sind Enumerationen, die sowohl Zeichenfolgen als auch numerische Elemente enthalten. Obwohl es möglich ist, sie zu definieren, wird dies im Allgemeinen nicht empfohlen, da es zu Verwirrung und Fehlern im Code führen kann.
Beispiel für heterogenes Enumeration
Hier ist ein Beispiel für eine heterogene Aufzählung:
enum MixedEnum {
Yes = "YES",
No = 0,
Maybe = 1
}
console.log(MixedEnum.Yes); // Output: "YES"
console.log(MixedEnum.No); // Output: 0
In diesem Beispiel enthält MixedEnum
sowohl Zeichenfolgen als auch numerische Werte. Verwenden Sie solche Enumerationen mit Vorsicht, da sie zu Verwirrung führen können.
Enum-Anwendungsfälle
Enumerationen sind in zahlreichen Szenarien hilfreich:
- Darstellung einer Reihe verwandter Konstanten wie Richtungen (oben, unten, links, rechts).
- Definieren von Zuständen in einer Zustandsmaschine (Neu, In Bearbeitung, Erledigt, Abgebrochen).
- Verwenden Sie sie in Switch-Case-Anweisungen zur besseren Lesbarkeit.
Enumeration in einem Switch-Case-Beispiel
Die Verwendung von Enumerationen in einer Switch-Case-Anweisung verbessert die Lesbarkeit des Codes und erleichtert die Verwaltung von Zuständen.
enum Status {
New,
InProgress,
Done,
Cancelled
}
function getStatusMessage(status: Status): string {
switch (status) {
case Status.New:
return "The task is new.";
case Status.InProgress:
return "The task is in progress.";
case Status.Done:
return "The task is completed.";
case Status.Cancelled:
return "The task is cancelled.";
default:
return "Unknown status.";
}
}
console.log(getStatusMessage(Status.InProgress)); // Output: "The task is in progress."
In diesem Beispiel ist die Switch-Case-Anweisung dank der Verwendung von Enums besser lesbar und weniger fehleranfällig.
Abschluss
Enums in TypeScript bieten eine leistungsstarke Möglichkeit, eine Reihe benannter Konstanten zu definieren und so die Lesbarkeit und Typsicherheit des Codes zu verbessern. Durch die Verwendung numerischer, Zeichenfolgen- oder sogar heterogener Enums können Sie Ihren Code besser verwalten und organisieren. Mit dieser Schritt-für-Schritt-Anleitung sollten Sie nun mit der Verwendung von Enums in TypeScript vertraut sein, um Ihren Code übersichtlicher und wartungsfreundlicher zu gestalten.