Generische Arrays
Teil des Abschnitts Einführung in TypeScript der JavaScript-Journey von Coddy — Lektion 60 von 73.
Arrays und Generics arbeiten in TypeScript wunderbar zusammen. Als Sie vorhin etwas über typisierte Arrays gelernt haben, haben Sie die T[]-Syntax verwendet, um anzugeben, dass ein Array nur Elemente eines bestimmten Typs enthalten kann. Generics bieten Ihnen eine weitere Möglichkeit, dasselbe Konzept auszudrücken.
TypeScript bietet eine alternative Syntax für typisierte Arrays im Format Array<T> an:
// Diese beiden Deklarationen sind gleichwertig:
let numbers1: number[] = [1, 2, 3];
let numbers2: Array<number> = [1, 2, 3];Die Array<T>-Syntax ist besonders nützlich, wenn man mit generischen Funktionen arbeitet, die auf Arrays operieren. Sie macht die generische Natur Ihres Codes expliziter und lesbarer, insbesondere wenn Sie Funktionen erstellen, die mit Arrays eines beliebigen Typs arbeiten können, während die Typsicherheit gewahrt bleibt.
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Aufgabe
EinfachErstellen Sie eine generische Funktion namens getFirstElement, die ein Array eines beliebigen Typs entgegennimmt und das erste Element oder undefined zurückgibt, wenn das Array leer ist.
Die Funktion sollte:
- Einen generischen Typparameter
Tverwenden - Einen Parameter namens
arrvom TypArray<T>akzeptieren - Das erste Element vom Typ
Toderundefinedzurückgeben - Eine explizite Rückgabetyp-Annotation von
T | undefinedhaben
Erstellen Sie die folgenden Arrays unter Verwendung der Array<T>-Syntax:
stringArrayvom TypArray<string>, das["apple", "banana", "cherry"]enthältnumberArrayvom TypArray<number>, das[10, 20, 30, 40]enthältbooleanArrayvom TypArray<boolean>, das[true, false, true]enthältemptyStringArrayvom TypArray<string>, das leer ist
Testen Sie Ihre Funktion und geben Sie die folgenden Ausgaben aus:
- Geben Sie das Ergebnis des Aufrufs von
getFirstElementmitstringArrayaus - Geben Sie das Ergebnis des Aufrufs von
getFirstElementmitnumberArrayaus - Geben Sie das Ergebnis des Aufrufs von
getFirstElementmitbooleanArrayaus - Geben Sie das Ergebnis des Aufrufs von
getFirstElementmitemptyStringArrayaus - Geben Sie das Ergebnis des Aufrufs von
getFirstElementmit einem neuenArray<string>, das["single"]enthält, aus
Spickzettel
TypeScript bietet zwei gleichwertige Syntaxen für typisierte Arrays:
// Diese beiden Deklarationen sind gleichwertig:
let numbers1: number[] = [1, 2, 3];
let numbers2: Array<number> = [1, 2, 3];Die Array<T>-Syntax ist besonders nützlich bei der Arbeit mit generischen Funktionen, die auf Arrays operieren, da sie die generische Natur Ihres Codes expliziter und lesbarer macht und gleichzeitig die Typsicherheit bewahrt.
Probier es selbst
// TODO: Schreiben Sie hier Ihren Code
// Erstellen Sie die generische Funktion getFirstElement
// Erstellen Sie die erforderlichen Arrays mit der Array<T>-Syntax
// Testen Sie die Funktion und geben Sie die Ergebnisse ausDiese 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