Hallo, mein Name ist Mark Nair, und in diesen Lektionen wirst du es tun Erfahren Sie mehr über komplexe Typen, einschließlich Literaltypen, Aufzählungen, Tupel, Array-Typen, Unions und der Schlüssel des Typoperators. Wenn wir das Wort Typ sagen, meinen wir meistens einen primitiven Typ. wie zum Beispiel eine Zeichenfolge oder eine Zahl. Zumindest tun wir das am Anfang. Manchmal ist es jedoch ein Typ, den wir erstellen, beispielsweise eine Schnittstelle. Werfen wir einen Blick auf einen kurzen Typ. Das ist also ein Benutzername vom Typ string. Mittlerweile ganz einfach. Manchmal möchten Sie jedoch einen bestimmten Wert als Typ, so was. Anstelle einer Zeichenfolge ist der Benutzername jetzt vom Typ Kramer. Es ist nicht der Wert von Kramer, denn wir haben ihm keinen gegeben Wert eingeben oder hier mit dem Zuweisungsoperator zuweisen. Wenn ich den Benutzernamen übertrage, habe ich hier den Typ Benutzername angegeben Kramer. Aber was ist Kramer, außer nur ein String, den ich geschrieben habe? Und Sie denken vielleicht, wenn ich einen Typ auf etwas beschränken muss Literal, was genau das ist, ein Literaltyp. Nehmen wir also an, ich kann so etwas von jetzt an nicht mehr tun. Ich kann ihm keinen anderen Wert geben. Funktioniert nicht, da der Benutzername besagt, dass er nicht zuweisbar ist Typ Kramer, obwohl Jerry ist der Inhalt. Jerry ist nicht vom Typ Kramer. Wir wissen nicht wirklich, welcher Typ Kramer ist. Wir wissen nur, dass Jerry das nicht ist. Sie denken vielleicht, ob ich einen Typ auf beschränken muss etwas Wörtliches, warum verwende ich nicht einfach eine Konstante? Nun, das ist eine gute Frage, aber nehmen wir an, Sie benötigen mehrere Literale in einem Objekt. Zum Beispiel, Werfen wir einen Blick darauf. Entfernen Sie einfach diese Zeile und ich erstelle ein neues Objekt mit dem Namen Person. Und lasst es uns wirklich definieren. Weißt du was, noch bevor ich das tue, werde ich kommen hier oben bis zur Zeile eins. Anstatt „Benutzernamen zulassen“ zu sagen, werde ich tatsächlich Folgendes tun: Das ist ein Typ. Ich werde das tun, indem ich den Schlüsselworttyp verwende. Wenn ich jetzt einen Typ erstelle, möchte ich ihn groß schreiben, damit ich es kann Sagen Sie, dass das ein Typ ist und nicht etwas anderes. Hier unten ist der Name also jetzt der Typ hier. Okay, also muss ich das jetzt einem Wert zuordnen. Nun, hier ist mein Name vom Typ Kramer, weil hier oben Benutzername Kramer. Dies wird übrigens über einen Typalias aufgerufen. Ich stecke es nur hier rein, aber es ist das Gleiche, das ich hatte vor einer Sekunde. Alles klar, ich habe meine Person mit meiner Architektur ausgestattet hier meine Form des Objekts. Nun möchte ich einige echte Informationen geben. Nehmen wir uns also einen Moment Zeit, um einiges davon zu bekräftigen. Ich habe hier einen neuen Typ namens Benutzername erstellt. Nun hat dieser Typ wirklich einen wörtlichen Wert, ein Literal Art von Kramer. Jetzt habe ich hier die Form meines Objekts definiert. Ich habe es mit meinen beiden Eigenschaften definiert. Der Name ist vom Typ Benutzername, der eigentlich vom Typ Kramer ist Wegen dieser Art von Alias-Geschäft hier auf Zeile eins. Dann ist das Tragen eines Puffy-Shirts vom Typ Boolean. Dann habe ich hier einige Werte angegeben. Nennen Sie Kramer und tragen Sie ein falsches Puffhemd. Ich habe immer das Problem, dass ich vergesse, meine Kommas zu setzen in Dingen und du könntest das auch tun. Wenn Sie auf diese Situation stoßen, erhalten Sie eine Fehlermeldung, normalerweise ist das so syntaktisches Problem. Aber egal, genau hier ist der einzige Benutzername, den ich hier eingeben kann ist Kramer. Wenn ich etwas anderes versuche, Ich werde eine Fehlermeldung erhalten. Und der Fehler hier besagt, dass der Typ Elaine nicht zuweisbar ist um Kramer zu tippen. Nochmals: Was ist Typ Kramer? Es handelt sich lediglich um einen Literaltyp der Zeichenfolge. Und Elaine ist das nicht. Und das Einzige, was das wirklich ist, ist die Kramer-Saite. Und das sehen Sie im Pop-up. Bei der Code-Vervollständigung erhalte ich also diesen sehr hilfreichen Kramer. Das ist es. Das funktioniert also in Ordnung. Aber wir können diesen Typ-Alias erweitern, um ihn noch etwas umfangreicher zu machen als Kramer, aber viel weniger als andere Dinge. Und dazu verwenden wir das Pipe-Symbol. Und das wird sagen oder. Jetzt kann ich also sagen, dass der wörtliche Typ Kramer oder Elaine ist oder George oder Jerry. Und dann ist es völlig legitim, bei all diesen vorbeizuschauen hier als Wert des Namens. Lassen Sie uns das ein wenig untersuchen. Ich werde mir meine Saite ausdenken. Da ist Elaine. Da ist George für den G. Jerry. Aber wenn ich P für etwas wie „Paul“ eingebe, gibt es das nein P. Ich möchte Joanna schreiben. Alles was ich habe ist Jerry. Geben Sie Alita ein. Nun, das kann ich nicht, weil Alita nicht dem Tippen zuzuordnen ist Nutzername. Die einzigen Dinge, die ich tun könnte, sind die Ors in der Zeichenfolge, die Literaltypen, die Stringwerte, die ich hier angegeben habe. Das bedeutet also nur, dass ich George einsetzen kann und das funktioniert perfekt Bußgeld. Deshalb geben wir uns etwas mehr Flexibilität bei der Verwendung von Literaltypen, auch wenn dies der Fall ist im wahrsten Sinne des Wortes den Typ einer Reihe von Zeichen geben, was in einem Typ keine Bedeutung hat. Aber für uns ist das der Sinn. Unser wörtlicher Typ ist also dieser Inhalt hier oder dieser oder dieser oder Das. Und wir können sie abwechseln oder nutzen. Wenn wir also nur eine Reihe von Leuten haben wollen und wir einfach Ich weiß, dass es zwischen diesen vier Namen und dem Tragen eines liegen wird Puffy Shirt ist der boolesche Wert zwischen diesen vier. Das ist eine absolut großartige Möglichkeit. Danke fürs zuschauen. Seien Sie gespannt auf die nächste Lektion, in der ich Ihnen zeigen werde, wie Enum funktioniert Typen funktionieren in TypeScript.