Enum als Typ in TypeScript

Jede Enumeration erstellt ihren eigenen Datentyp. Lassen Sie uns zum Beispiel für eine Variable, die die aktuelle Jahreszeit speichert, den Typ Season zuweisen:

typescriptlet current: Season;

Schreiben wir die Nummer der Jahreszeit in unsere Variable:

typescriptlet current: Season = Season.Winter;
console.log(current); // 0

Man kann die Nummer der Jahreszeit manuell angeben:

typescriptlet current: Season = 3;

Wenn man jedoch versucht, Daten eines anderen Typs zu schreiben, zum Beispiel einen String, dann gibt es einen Fehler:

typescriptlet current: Season = 'str'; // wird ein Fehler sein

Leider wird der Wertebereich nicht verfolgt und man kann eine Nummer schreiben, die nicht in unserer Enumeration vorhanden ist:

typescriptlet current: Season = 7; // kein Fehler

Bei der Überprüfung durch den Operator typeof wird unsere Variable den numerischen Typ zurückgeben:

typescriptlet current: Season = 3;
console.log(typeof current); // "number"

Zusammenfassend kann man sagen, dass ein solcher Typ nicht sehr streng überprüft wird und daher sein Wert zweifelhaft ist.