Zusammenfassung: Fortgeschrittene Typ-Kombinationen
Teil des Abschnitts Einführung in TypeScript der JavaScript-Journey von Coddy. Lektion 36 von 73.
Aufgabe
EinfachErstellen Sie einen Typ-Alias namens Success für ein Objekt mit einer status-Eigenschaft vom Literaltyp "success" und einer data-Eigenschaft vom Typ any.
Erstellen Sie einen Typ-Alias namens Failure für ein Objekt mit einer status-Eigenschaft vom Literaltyp "error" und einer message-Eigenschaft vom Typ string.
Erstellen Sie einen Typ-Alias namens Result, der eine Union der Typen Success und Failure ist.
Erstellen Sie eine Funktion namens processResult, die einen Parameter namens result vom Typ Result akzeptiert und einen string zurückgibt. Die Funktion sollte einen Type Guard auf der status-Eigenschaft verwenden, um den Ergebnistyp zu bestimmen, und sich wie folgt verhalten:
- Wenn der Status
"success"ist, geben Sie"Operation successful: [data]"zurück - Wenn der Status
"error"ist, geben Sie"Operation failed: [message]"zurück
Erstellen Sie eine weitere Funktion namens handleApiResponse, die einen Parameter namens response vom Typ Result akzeptiert und einen boolean zurückgibt. Die Funktion sollte true zurückgeben, wenn die Operation erfolgreich war, und false, wenn sie fehlgeschlagen ist.
Die folgenden Eingaben werden bereitgestellt:
- Erste Eingabe: ein JSON-String, der entweder ein Erfolgsresultat wie
{"status": "success", "data": "User created"}oder ein Fehlerresultat wie{"status": "error", "message": "Invalid credentials"}darstellt - Zweite Eingabe: ein weiterer JSON-String im gleichen Format
Parsen Sie beide JSON-Eingaben als Result-Objekte und führen Sie dann Folgendes aus:
- Rufen Sie
processResultmit dem ersten geparsten Ergebnis auf und geben Sie den zurückgegebenen String aus - Rufen Sie
handleApiResponsemit dem ersten geparsten Ergebnis auf und geben Sie den zurückgegebenen Boolean aus - Rufen Sie
processResultmit dem zweiten geparsten Ergebnis auf und geben Sie den zurückgegebenen String aus - Rufen Sie
handleApiResponsemit dem zweiten geparsten Ergebnis auf und geben Sie den zurückgegebenen Boolean aus
Probier es selbst
import * as readline from 'readline';
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
const input: string[] = [];
// TODO: Schreibe deinen Code hier
// 1. Erstelle Typ-Aliase für Success, Failure und Result
// 2. Erstelle die Funktion processResult
// 3. Erstelle die Funktion handleApiResponse
rl.on('line', (line: string) => {
input.push(line.trim());
if (input.length === 2) {
// Verarbeite die JSON-Eingaben
const result1 = JSON.parse(input[0]);
const result2 = JSON.parse(input[1]);
// 4. Rufe die Funktionen mit den verarbeiteten Ergebnissen auf und gib die Ausgaben aus
rl.close();
}
});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: Online-JavaScript-Compiler