Zusammenfassung
In dieser Lektion hast du gelernt:
- Eine Typannotation sagt, was eine Variable enthalten darf:
let heldenName: string = "Kira";. Die Basistypen sindstring,numberundboolean, kleingeschrieben. Mit einer Annotation prüft TypeScript auch den ersten Wert. - Bekommt eine Variable sofort einen Wert, genügt der abgeleitete Typ. Schreibe den Typ dort, wo der Wert ihn nicht sagt: bei einer Variablen ohne Wert, einem leeren Array oder einem Tupel.
- Bei einer Variablen ohne Wert,
let belohnung: number;, prüft TypeScript, dass jeder Weg einen Wert speichert, bevor die Variable verwendet wird. Sonst meldet esTS2454, oft wegen eines fehlendenelse. - Arithmetik (
-,*,/,%) braucht Zahlen:"15" * 2ist der FehlerTS2362. Auch der Vergleich einer Zahl mit einem Text ist ein Fehler (TS2367,TS2365).+mit einem Text verbindet.Number("15")macht aus einem Text eine Zahl undString(15)aus einer Zahl einen Text. - Arrays haben Typen wie
string[]undnumber[]. Einen Wert eines anderen Typs hineinzuschieben ist der FehlerTS2345. Ein leeres Array braucht seinen Typ:const beute: string[] = [];. - Ein Tupel, etwa
[string, number], hat eine feste Anzahl von Elementen, jedes mit seinem eigenen Typ, der Reihe nach:const pfeile: [string, number] = ["Pfeil", 20];. - Einer Konstante kann nichts erneut zugewiesen werden (
TS2588). Ihr Typ ist ein Literaltyp:const maxStufe = 10;hat den Typ10,let stufe = 3;dagegennumber. Einen Literaltyp kannst du auch als Annotation schreiben:let schwierigkeit: "schwer" = "schwer";erlaubt nur diesen einen Wert. Nimmconstfür Werte, die sich nicht ändern. anyschaltet die Prüfung aus, und die Fehler von JavaScript kommen zurück. Vermeide es.
In der nächsten Lektion, Funktionen, gibst du den Parametern und Rückgabewerten von Funktionen Typen, sodass TypeScript jeden Aufruf prüft: ob er die richtigen Werte bekommt, in der richtigen Anzahl, und was er zurückgibt.
So schreibst du es:
Anweisungen
- 1
Übe jetzt alles: Kira geht auf dem Markt einkaufen. Lege unter den beiden Zeilen im Editor ein leeres Array
korbfür die Namen der Gegenstände an, die sie kauft, und ein Tupellaternemit dem Namen"Laterne"und dem Preis30. Gib beiden die richtigen Typen. - 2
Kira kauft die Laterne. Schiebe ihren Namen aus dem Tupel in
korb, ziehe ihren Preis, ebenfalls aus dem Tupel, vongoldab und gib den Korb und das Gold mitconsole.log("Korb:", korb, "Gold:", gold);aus. Das Programm gibt aus:Korb: ["Laterne"] Gold: 70 - 3
Dann kauft sie ein Seil, dessen Preis als Text auf Brunos Schild steht, in
seilSchild. Schiebe"Seil"inkorb, ziehe den Preis des Seils vongoldab und gib dieselbe Zeile noch einmal aus, sodass das Programm ausgibt:Korb: ["Laterne"] Gold: 70 Korb: ["Laterne", "Seil"] Gold: 58