1. ÜbersichtEin Aufzählungstyp ist ein Name, der einer Menge von Werten zugewiesen wird. Wenn wir beispielsweise eine Reihe von Rollen definieren und diese durch Zahlen darstellen müssen, können wir den folgenden Code verwenden, um sie zu finden: Aufzählungsrolle { STUDENT, LEHRER, VERWALTER } Im obigen Code definieren wir die Rolle als Aufzählungstyp, der drei Werte enthält. TypeScript weist jedem Wert automatisch Seriennummern zu, die standardmäßig bei 0 beginnen, und ihre Werte sind 0 1 2. Natürlich können wir auch jeden Wert individuell anpassen. Wenn nicht alle definiert sind, werden die nachfolgenden Werte entsprechend den vorherigen Werten erhöht. Der Beispielcode lautet wie folgt: Aufzählung Rolle1 { Schüler = 1, // Die nächsten beiden Werte sind 2 bzw. 3 Lehrer, Administrator, } Aufzählung Rolle2 { // Jeder Name hat einen angegebenen Wert Student = 1, Lehrer = 3, Administrator = 6, } 2. Digitale AufzählungBei dem oben vorgestellten Beispiel handelt es sich um einen numerischen Aufzählungstyp. Es gibt jedoch noch einen weiteren Punkt zu beachten: Wenn ein Feld einen konstanten oder berechneten Wert verwendet, müssen wir den Anfangswert unmittelbar nach dem Feld festlegen, da sonst eine Ausnahme ausgelöst wird. Der Beispielcode lautet wie folgt: ;(Funktion () { // Definieren Sie eine Funktion const getValue: () => number = (): number => { Rückgabe 0 } Aufzählung Rolle1 { Student = getValue(), // Lehrer, // Fehler. Enumerationsmitglieder müssen einen Initialisierungsausdruck haben. // admin, // Fehler Enumerationsmitglieder müssen einen Initialisierungsausdruck haben. } const TEACHER_ROLE: Zahl = 3 // Jeder Name hat einen angegebenen Wert enum role2 { Student, Lehrer = LEHRERROLLE, // admin, // Fehler Enumerationsmitglieder müssen einen Initialisierungsausdruck haben. } })() 2.1 Rückwärtszuordnung Bei der sogenannten umgekehrten Zuordnung können Sie über Wir können jeden spezifischen Wert über .name oder ['name'] abrufen, oder wir können den jedem Wert entsprechenden Namen über [Wert] abrufen. Der Beispielcode lautet wie folgt: Aufzählungsrolle { Student, Lehrer, Administrator, } console.log(Rolle.admin) // 2 console.log(Rolle['Lehrer']) //1 console.log(Rolle[0]) //'Student' Tatsächlich ist der Aufzählungstyp in Der kompilierte Code lautet wie folgt: "streng verwenden"; var Rolle; (Funktion (Rolle) { Rolle [Rolle ["Student"] = 0] = "Student"; Rolle [Rolle ["Lehrer"] = 1] = "Lehrer"; Rolle [Rolle ["Administrator"] = 2] = "Administrator"; })(Rolle || (Rolle = {})); Dies ist möglicherweise leichter zu verstehen. Tatsächlich werden dem Rollenobjekt Werte über eine selbstanpassende Funktion zugewiesen. Nach der Zuweisung sieht es wie folgt aus: var Rolle = { "Schüler": 0, "Lehrer": 1, "Administrator" : 2, 0: "Schüler", 1: "Lehrer", 2: "Administrator", } Es ist erwähnenswert, dass die umgekehrte Zuordnung nur in numerischen Aufzählungen unterstützt wird, nicht in den in Version 2.4 hinzugefügten Zeichenfolgenaufzählungen. 3. ZeichenfolgenaufzählungDie sogenannte Zeichenfolgenaufzählung bedeutet, dass der Wert jedes Felds in der Aufzählung eine Zeichenfolge oder andere Felder in der Aufzählung sein muss. Der Beispielcode lautet wie folgt: enum Person { Name = 'Eine Schüssel Zhou', Hobby = "Programmieren", //Setze das Feld in der Aufzählung auf den Wert myName = name, } console.log(Person.name, Person.myName) // Eine Schüssel für eine Woche 4. Konstante Aufzählung Nachdem wir eine normale Aufzählung definiert haben, wird nach der Kompilierung in Die Der Beispielcode lautet wie folgt: const enum Rolle { Student, Lehrer, Administrator, } let admin = Rolle.admin Der obige Code wird wie folgt kompiliert: lass admin = 2 /* admin */; 5. Zusammenfassung In diesem Artikel werden zwei grundlegende Aufzählungstypen vorgestellt: numerische Aufzählung und Zeichenfolgenaufzählung. Die Array-Aufzählung verfügt außerdem über ein Konzept der Reflexionszuordnung, was bedeutet, dass Sie über den Schlüssel auf den Wert und über den Dies ist das Ende dieses Artikels über Das könnte Sie auch interessieren:
|
<<: Implementierung einer zeitgesteuerten MySQL-Datenbanksicherung (vollständige Datenbanksicherung)
>>: Lassen Sie IE6, IE7, IE8 CSS3-abgerundete Ecken und Schattenstile unterstützen
Inhaltsverzeichnis Einleitung Nginx-Dockerdatei N...
MySQL Slow Query, dessen vollständiger Name „Slow...
Fügen Sie der angegebenen Datei im Dockerfile meh...
Frage: Als ich kürzlich an Projektstatistiken arb...
Als ich mich bei einem bestimmten Unternehmen für...
MySQL-Transaktionsisolationsebene anzeigen mysql&...
Inhaltsverzeichnis 1. Warenkorb-Beispiel 2. Code-...
Ich habe mich schon immer für drahtlose Interakti...
Vorwort Dieser Artikel verwendet die Vorverarbeit...
Hintergrund In letzter Zeit werde ich in Intervie...
Da jedermanns Zeit kostbar ist, werde ich die Pro...
Heute stelle ich zwei HTML-Tags vor, die ich nich...
Ich habe kürzlich den Aushöhlungseffekt untersuch...
Dieser Artikel beschreibt, wie man den https-Dien...
Inhaltsverzeichnis 1. Analyse des wichtigsten Que...