TypeScript: JavaScript-Unterstützung für statische Codeanalyse

JavaScript ist wenig typsicher und daher fehleranfällig. Hier kann das kompatible TypeScript Entwickler mit seinem ausgefeilten Typsystem helfen.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 6 Kommentare lesen
TypeScript: JavaScript-Unterstützung für statische Codeanalyse
Lesezeit: 19 Min.
Von
  • Lenz Weber
Inhaltsverzeichnis
Mehr zur modernen Webentwicklung

Während JavaScript zwar intern die Typen string, number, undefined, null, boolean, symbol und object kennt, spielt dies für Entwickler kaum eine Rolle. Die Sprache ist schwach typisiert und wechselt zur Laufzeit fließend wo nötig zwischen den Typen. Was in der Theorie gut klingt, kann in der Praxis Verwirrung und schwer zu findende Bugs verursachen. Arbeitet der Entwickler nebenher mit anderen schwach typisierten Sprachen, verstärkt sich das Problem. Wer denkt schon daran, dass in JavaScript 1+"2" == "12" gilt, während PHP hier zum Ergebnis 3 kommt?

Also muss man auf die korrekten Variablentypen achten. Insbesondere bei externen Bibliotheken ist nicht immer klar, welche Datentypen sie erwarten oder zurückliefern. Oft ist auch die Dokumentation veraltet oder schlicht falsch. So schleichen sich Fehler ein. Hier kommt TypeScript ins Spiel und erweitert JavaScript um ein Typsystem, das sich für statische Codeanalyse eignet.

TypeScript bietet jetzt schon alle JavaScript-Features des ECMAScript2020-Standards wie dynamische import()-Aufrufe, den Nullish-Coalescense-Operator ?? und den Optional-Chaining-Operator ?.. Selbstverständlich erfüllt die Sprache auch alle bisherigen Standards. Erwähnenswert sind Konstrukte wie Klassen mit dem class-Schlüsselwort, die Möglichkeit, asynchronen Code iterativ mittels async .. await zu schreiben, die Iteration von Iterables mittels for of und Generatorfunktionen function*() {}. Außerdem wurden einige Features aufgenommen, die sich noch in der Standardisierung befinden.