Top Fehler von TypeScript-Anfängern: von A bis Z

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Top Fehler von TypeScript-Anfängern: von A bis Z

\n\n

TypeScript ist ein leistungsstarkes Werkzeug, das hilft, zuverlässigeren und vorhersagbareren Code zu schreiben. Am Anfang machen jedoch viele Entwickler (besonders diejenigen, die von JavaScript kommen) typische Fehler. In diesem Artikel analysieren wir die 10 häufigsten Probleme, auf die Anfänger stoßen, und zeigen, wie man sie vermeidet. Tauchen wir ein in die Welt von TypeScript von A bis Z.

\n\n

1. Übermäßige Verwendung von any

\n\n

Dies ist wohl der häufigste Fehler. Wenn der Entwickler nicht weiß, welchen Datentyp er erwarten soll, schreibt er any. Das zerstört das ganze Wesen von TypeScript – die statische Typisierung. Sie verlieren Editor-Hinweise und den Schutz vor Fehlern während der Kompilierung.

\n\n

Schlechtes Beispiel:

\n
function processData(data: any) {\n    return data.name.toLowerCase(); // Fehler erscheint erst zur Laufzeit\n}\n
\n\n

Wie beheben: Verwenden Sie spezifischere Typen, unknown oder Generics.

\n\n
function processData(data: { name: string }) {\n    return data.name.toLowerCase(); // TypeScript prüft dies zur Kompilierzeit\n}\n
\n\n

Wenn der Typ wirklich unbekannt ist, verwenden Sie unknown – es zwingt Sie, die Daten vor der Verwendung zu überprüfen.

\n\n

2. Ignorieren des Strict-Modus

\n\n

Viele Anfänger deaktivieren strict: true in der tsconfig.json, um "unnötige Fehler zu vermeiden". Das ist ein großer Fehler. Ohne den Strict-Modus verlieren Sie die Prüfung auf null und undefined, was in der Produktion zu Cannot read property of undefined führt.

\n\n
// Ohne strict: true – kein Fehler\nconst name: string = null; // Funktioniert, stürzt aber später ab\n\n// Mit strict: true – Kompilierungsfehler\nconst name: string = null; // ❌ Type 'null' is not assignable to type 'string'\n
\n\n

Tipp: Aktivieren Sie immer strict: true. Das erspart Ihnen hunderte von Bugs.

\n\n

3. Falsche Verwendung von Typen und Schnittstellen

\n\n

Anfänger verwechseln oft type und interface und verwenden sie dort, wo es nicht nötig ist. Zum Beispiel erstellen sie eine Schnittstelle für eine einzelne Funktion, obwohl man den Typ direkt im Parameter beschreiben könnte.

\n\n

Schlechtes Beispiel:

\n
interface UserData {\n    name: string;\n    age: number;\n}\nfunction greet(user: UserData) {\n    console.log(`Hallo, ${user.name}`);\n}\n
\n\n

Das ist überflüssig, wenn die Schnittstelle nur einmal verwendet wird.

\n\n

Besser so:

\n
function greet(user: { name: string; age: number }) {\n    console.log(`Hallo, ${user.name}`);\n}\n
\n\n

Verwenden Sie interface für Objekte, die erweitert oder von Klassen implementiert werden, und type für Vereinigungen (union) und Schnittmengen (intersection).

\n\n

4. Vergessen von Union-Typen

\n\n

Eine der mächtigsten Funktionen von TypeScript sind Typvereinigungen. Anfänger schreiben oft redundante Prüfungen oder verwenden any, wenn man einfach mehrere zulässige Typen angeben könnte.

\n\n
// Schlecht\nfunction getLength(value: any) {\n    return value.length;\n}\n\n// Gut\nfunction getLength(value: string | any[]) {\n    return value.length;\n}\n
\n\n

TypeScript zeigt selbst an, welche Methoden für jeden der Typen in der Vereinigung verfügbar sind.

\n\n

5. Fehler mit null und undefined

\n\n

TypeScript behandelt null und undefined streng, aber Anfänger vergessen oft, sie zu überprüfen. Das führt zu Laufzeitfehlern.

\n\n
function printName(name: string | null) {\n    console.log(name.toUpperCase()); // ❌ Object is possibly 'null'\n}\n
\n\n

Wie beheben: Verwenden Sie Schutzprüfungen (type guards):

\n\n
function printName(name: stri                

Blogs

Buchempfehlungen