Menu
Coddy logo textTech

Zusammenfassung: Fortgeschrittene Typ-Kombinationen

Teil des Abschnitts Einführung in TypeScript der JavaScript-Journey von Coddy. Lektion 36 von 73.

challenge icon

Aufgabe

Einfach

Erstellen 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 processResult mit dem ersten geparsten Ergebnis auf und geben Sie den zurückgegebenen String aus
  • Rufen Sie handleApiResponse mit dem ersten geparsten Ergebnis auf und geben Sie den zurückgegebenen Boolean aus
  • Rufen Sie processResult mit dem zweiten geparsten Ergebnis auf und geben Sie den zurückgegebenen String aus
  • Rufen Sie handleApiResponse mit 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

Übe selbstständig: Online-JavaScript-Compiler