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
<br />Die Seite verwendet die UTF8-Kodierung...
Mittlerweile werden die meisten Projekte auf Dock...
Crontab installieren yum install crontabs CentOS ...
Ich liebe das Programmieren, es macht mich glückl...
In diesem Artikelbeispiel wird der spezifische JS...
Die Inhaltseigenschaft wurde bereits in CSS 2.1 e...
Das Konzept der gespeicherten MySQL-Prozedur: Ein...
Ein Kollege meldete, dass eine MySQL-Instanz aufg...
Inhaltsverzeichnis Prämisse TypeScript vs. JavaSc...
In diesem Artikel werden die Installations- und K...
20200804Nachtrag: Der Artikel könnte falsch sein....
Vorwort: Die Speicher-Engine ist der Kern der Dat...
Inhaltsverzeichnis Modusparameter HashHistorie Ha...
Häufige Anwendungsszenarien Die Schnittstellen ak...
Hintergrund Kürzlich fragten mich einige Freunde,...