Zusammenfassung
In dieser Lektion hast du gelernt:
- Jeder Parameter braucht einen Typ:
function heilen(leben: number, menge: number). Ohne ihn meldet TypeScriptParameter 'leben' implicitly has an 'any' type.(TS7006). Jeder Aufruf wird geprüft: Ein falsches Argument ergibt TS2345. - Der Rückgabetyp steht hinter den Klammern:
function schaden(kraft: number, ruestung: number): number {. TypeScript leitet ihn ab, wenn du ihn weglässt. Wenn du ihn schreibst, prüft TypeScript den Rumpf dagegen: Ein Zweig ohnereturnergibt TS2366, ein Wert des falschen Typs TS2322. voidist der Rückgabetyp von Funktionen, die nichts zurückgeben:function zeigeHeld(name: string): void. Ihr Ergebnis lässt sich nicht verwenden, zum Beispiel ergibttitel.toUpperCase()die MeldungProperty 'toUpperCase' does not exist on type 'void'.Wenn du einen Wert brauchst, gib ihn zurück.- Ein Aufruf muss so viele Argumente übergeben, wie die Funktion Parameter hat:
Expected 2 arguments, but got 1.(TS2554). Wenn du einen Parameter hinzufügst, zeigt dir TypeScript jeden Aufruf, der geändert werden muss. - Ein optionaler Parameter hat ein Fragezeichen:
titel?: string. Innen ist sein Typstring | undefined, prüfe ihn also vor der Verwendung:if (titel === undefined) { ... }. Optionale Parameter stehen am Ende. - Ein Parameter mit Standardwert,
kraft: number = 10oder einfachkraft = 10, ist ebenfalls optional, aber innerhalb der Funktion nieundefined. - Pfeilfunktionen haben ihre Typen an denselben Stellen:
const verdoppeln = (n: number): number => n * 2;. Ein Parameter mit Typ braucht Klammern. - Auch eine Funktion hat einen Typ:
(kraft: number) => number. Er kann einen Namen bekommen,type Schlag = (kraft: number) => number;, und für Parameter verwendet werden, die eine Funktion enthalten. Übergib die Funktion selbst, ohne Klammern. maperzeugt aus den Ergebnissen einer Funktion ein neues Array:truhen.map(gold => gold * 2).filterbehält die Elemente, für die die Funktiontruezurückgibt:monsterListe.filter(monster => monster.kraft > 10). Der Parameter bekommt seinen Typ vom Array, braucht also keine Annotation.
Als Nächstes kommt ein kleines Projekt, die Anzeigetafel eines Bogenschießturniers, das du mit allem aus den ersten drei Lektionen selbst schreibst. Dann beschreibst du in der Lektion „Objekttypen“, wie Objekte aussehen: welche Eigenschaften sie haben und von welchen Typen. TypeScript prüft dann jeden Helden, jeden Gegenstand und jedes Monster in deinem Programm.
So schreibst du es:
Anweisungen
- 1
Jetzt üben wir. Schreibe eine Pfeilfunktion, gespeichert in
const heilen, mit den Parameternlebenundmenge, beide vom Typnumber, einem ParametermaxLebenmit dem Standardwert50und dem Rückgabetypnumber. Sie gibtleben + mengezurück, aber nie mehr alsmaxLeben. - 2
Gib
heilen(20, 15),heilen(40, 35)undheilen(40, 35, 100)aus. Das Programm gibt aus:35 50 75 - 3
Behalte mit
filterdie Tränke, die mehr als 15 heilen, und mache mitmapaus jedem einen Text wie+20 Leben. Speichere das Ergebnis inbeschriftungen. Schreibe dann eine FunktionalleAusgebenmit einem Parameterzeilenvom Typstring[]und dem Rückgabetypvoid, die jedes Element vonzeilenin einer eigenen Zeile ausgibt, und rufealleAusgeben(beschriftungen)auf. Am Ende gibt das Programm aus:+20 Leben +35 Leben +50 Leben