Enums, die auf die von Ihnen erstellte Weise erstellt wurden, werden in ein Objekt kompiliert, das sowohl vorwärts (Name -> Wert)
als auch rückwärts (Wert -> Name)
Abbildungen speichert. Wie wir auf diesem Chrome DevTools-Screenshot sehen können:
Hier ist ein Beispiel, wie die doppelte Zuordnung funktioniert und wie man von einer zur anderen umwandelt:
enum Farbe{
Rot, Grün
}
// Zu einer Nummer
var grüneNr: number = Farbe['Grün'];
console.log(grüneNr); // gibt 1 aus
// Zu einem String
var grünerString: string = Farbe[Farbe['Grün']]; // oder Farbe[Farbe[1]
console.log(grünerString); // gibt Grün aus
// In Ihrem Beispiel
// erhalte Farbe.grün anstelle des Strings grün
var grün: string = Farbe[Farbe.Grün];
// erhalte den Enum-Nummernwert, der der Farbe.grün-Eigenschaft entspricht
var farbe: Farbe = (Farbe)[grün];
console.log(farbe); // gibt 1 aus