TypeScript, Typen und Schnittstellen
"Datenverträge beim Entwickeln prüfen und Unsicherheit sichtbar machen."
Konzepte verständlich erklärt (für Einsteiger jeden Alters)
Lernziele
Datenverträge beim Entwickeln prüfen und Unsicherheit sichtbar machen. Nach dieser Lektion kannst du das Konzept erklären, ein kleines Beispiel umsetzen und typische Grenzen benennen.
Erklärung
TypeScript ergänzt statische Analyse, wird aber zu JavaScript kompiliert. Interfaces und Type Aliases beschreiben Formen. Union Types modellieren Alternativen; Generics bewahren Typbeziehungen. Daten aus Netzwerk oder Local Storage bleiben zur Laufzeit untrusted und benötigen Validierung.
Schrittweises Beispiel
type Result = { ok: true; value: string } | { ok: false; error: string } erlaubt mit if (result.ok) eine sichere Verzweigung. as User validiert keine Antwortdaten. Das Code-Labor kann TypeScript-Typen nicht kompilieren; die JavaScript-Aufgabe modelliert die Zustandswerte.
const states = [{ status: "loading" }, { status: "success", data: [] }, { status: "error", message: "Fehler" }];
console.log(states.map(state => state.status));
Zusammenfassung
Typen verbessern Feedback während der Entwicklung; Laufzeitgrenzen brauchen echte Validierung.
Lerncheck & Übung
Etwa 30 Minuten · beginner
Das lernst du
- Erkläre die Kernidee von „TypeScript, Typen und Schnittstellen“ in eigenen Worten.
- Wähle eine passende Technik für einen konkreten Anwendungsfall.
- Erkenne mindestens eine typische Fehlerquelle.
Voraussetzungen
- Keine Zugriffsvoraussetzungen. Vorwissen wird in der Erklärung eingeführt.
Häufige Fehler
- `any` deaktiviert hilfreiche Prüfungen. Ein Type Assertion schaltet Warnungen stumm, beweist aber nichts über echte Daten. Optionales Feld und `null` sind verschiedene Fälle.
Wissenscheck
Praktische Aufgabe
Modelliere die drei möglichen UI-Zustände als JavaScript-Objekte.
Das Code-Labor führt JavaScript aus, kompiliert aber weder TypeScript-Typen noch React/JSX. Die Editoraufgabe übt das zugehörige Datenmodell in ausführbarem JavaScript.
Quellen und Einordnung
Ergänzender Lerninhalt: Dieses Thema erweitert den Umfang der genannten CS50-Kurse.
Prüfe meine Erklärung zu „TypeScript, Typen und Schnittstellen“: Nenne eine fehlende Annahme und stelle mir eine Gegenfrage.
Interaktive Übung & lokaler Testlauf
Modelliere die drei möglichen UI-Zustände als JavaScript-Objekte.
Hinweise auf Wunsch anzeigen
- Zerlege die Aufgabe in Eingabe, Verarbeitung und erwartete Ausgabe.
- Prüfe auch einen leeren oder ungültigen Fall.