Definieren von Funktionstypen
Teil des Abschnitts Einführung in TypeScript der JavaScript-Journey von Coddy. Lektion 28 von 73.
TypeScript ermöglicht es Ihnen, einen Typ-Alias für die Signatur einer Funktion zu erstellen, der wie ein Bauplan fungiert, dem Funktionen entsprechen müssen.
Ein Funktionstyp-Alias definiert die Form einer Funktion unter Verwendung des Schlüsselworts type. Die Syntax zeigt die Parametertypen in Klammern, gefolgt von einem Pfeil und dem Rückgabetyp:
type MathOperation = (a: number, b: number) => number;
const add: MathOperation = (a, b) => {
return a + b;
};
const multiply: MathOperation = (a, b) => {
return a * b;
};In diesem Beispiel ist MathOperation ein Typ-Alias, der jede Funktion beschreibt, die zwei Zahlen entgegennimmt und eine Zahl zurückgibt. Sowohl add als auch multiply entsprechen diesem Typ, was die Konsistenz in Ihrer Codebasis gewährleistet.
Aufgabe
EinfachErstellen Sie einen Typ-Alias namens StringProcessor für eine Funktion, die einen einzelnen string-Parameter entgegennimmt und einen string zurückgibt.
Erstellen Sie einen Typ-Alias namens NumberCalculator für eine Funktion, die zwei number-Parameter entgegennimmt und eine number zurückgibt.
Erstellen Sie einen Typ-Alias namens BooleanChecker für eine Funktion, die einen string-Parameter entgegennimmt und einen boolean zurückgibt.
Implementieren Sie nun die folgenden Funktionen, die diesen Typ-Aliassen entsprechen:
- Erstellen Sie eine Funktion namens
toUpperCasevom TypStringProcessor, die den Eingabestring in Großbuchstaben umwandelt - Erstellen Sie eine Funktion namens
addPrefixvom TypStringProcessor, die das Präfix"Processed: "zum Eingabestring hinzufügt - Erstellen Sie eine Funktion namens
dividevom TypNumberCalculator, die die erste Zahl durch die zweite Zahl dividiert - Erstellen Sie eine Funktion namens
powervom TypNumberCalculator, die die erste Zahl mit der zweiten Zahl potenziert (verwenden SieMath.pow) - Erstellen Sie eine Funktion namens
isEmptyvom TypBooleanChecker, dietruezurückgibt, wenn der String die Länge 0 hat, andernfallsfalse - Erstellen Sie eine Funktion namens
startsWithAvom TypBooleanChecker, dietruezurückgibt, wenn der String mit dem Buchstaben "A" beginnt (Groß-/Kleinschreibung beachten), andernfallsfalse
Testen Sie Ihre Funktionen, indem Sie sie mit den folgenden Werten aufrufen und die Ergebnisse ausgeben:
- Rufen Sie
toUpperCasemit"hello world"auf - Rufen Sie
addPrefixmit"data"auf - Rufen Sie
dividemit20und4auf - Rufen Sie
powermit3und4auf - Rufen Sie
isEmptymit""auf - Rufen Sie
startsWithAmit"Apple"auf
Geben Sie jedes Ergebnis in einer separaten Zeile in der oben angegebenen Reihenfolge aus.
Probier es selbst
// TODO: Erstellen Sie hier Typ-Aliase
// StringProcessor, NumberCalculator, BooleanChecker
// TODO: Implementieren Sie hier die Funktionen
// toUpperCase, addPrefix, divide, power, isEmpty, startsWithA
// TODO: Testen Sie Ihre Funktionen und geben Sie die Ergebnisse aus
// Rufen Sie jede Funktion mit den angegebenen Werten auf und drucken Sie die ErgebnisseDiese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Einführung in TypeScript
1Erste Schritte mit TS
Was ist TypeScript?Warum TypeScript verwenden?Dein erster TypeScript-CodeKompilierungsprozess & FehlerZusammenfassung: Einführung in TS4Arbeiten mit Funktionen
Typisierung von Parametern & RückgabewertenTypisierung von Arrow-FunktionenDer Rückgabetyp 'void'Optionale Parameter mit '?'Standard-ParameterwerteTypisierung von Rest-ParameternDefinieren von FunktionstypenZusammenfassung: Typisierte Funktionen erstellen2Basis-Typen
Basis-Typen: str, num, booleanDer 'any'-Typ: Der NotausgangDer 'unknown'-TypArbeiten mit 'null' & 'undef'Typinferenz in der PraxisExplizite Typ-AnnotationenZusammenfassung: Übung zu Basis-Typen5Typen: Aliase, Unions & Intersections
Typ-Aliase für primitive DatentypenUnion-Typen ('|')Arbeiten mit Union-TypenLiteral-TypenIntersection-Typen ('&')Kombinieren von Typ-AliasenZusammenfassung: Fortgeschrittene Typ-Kombinationen3Datenstruktur: Arrays & Tupel
Typisierte Arrays'readonly'-Modifikator für ArraysWas ist ein Tupel?Deklarieren von und Zugriff auf TupelDestrukturierung von TupelnReadonly-TupelMehrdimensionale typisierte ArraysSpread-Operator mit ArraysZusammenfassung: Arrays und TupelÜbe selbstständig: TypeScript-Playground