Begriffserklärung | Zurück zur Übersicht

Type­Script

Veröffentlicht am

TypeScript ist eine Erweiterung von JavaScript und ergänzt die Sprache um Typisierung und andere Features. Es wurde ursprünglich von Microsoft entwickelt und ist seit 2012 als Open-Source-Projekt verfügbar.

JavaScript wurde ursprünglich als einfache Skript-Sprache entwickelt und war nicht für komplexere Software-Projekte vorgesehen. Dementsprechend war die Sprache recht einfach gehalten und es ist beispielsweise nicht möglich, im Code zu definieren, welchen Datentyp (Text, Zahl, Datum, ...) eine Variable hat. Dies kann zu Fehlern führen, die erst auffallen, wenn die Anwendung bereits im Browser des Nutzers ausgeführt wird.

TypeScript ergänzt JavaScript um die Möglichkeit, Variablen, Funktionen und andere Elemente zu typisieren. So kann beispielsweise definiert werden, dass eine Variable vom Typ "Text" ist und nur Textwerte enthalten kann. Wenn dann versucht wird, einen Zahlenwert in diese Variable zu schreiben, wird dies bereits beim Entwickeln der Anwendung erkannt und es wird ein Fehler angezeigt.

Auf diese Weise werden viele Fehler bereits beim Entwickeln der Anwendung erkannt und können behoben werden, bevor die Anwendung im Browser des Nutzers ausgeführt wird. Dies führt zu einer höheren Qualität der Anwendung und zu weniger Fehlern, die beim Nutzer auftreten.

Das folgende Beispiel zeigt eine typische Fehlermeldung, die entsteht, wenn versucht wird, einen Wert eines falschen Typs zu übergeben. Die Funktion addNumbers erwartet zwei Parameter vom Typ number, also Zahlen. Wird nun versucht, einen Textwert zu übergeben, wird dies bereits beim Entwickeln der Anwendung erkannt und es wird eine Fehlermeldung angezeigt.

Beispiel für einen von TypeScript erkannten Fehler bei der Zuweisung eines falschen Datentyps Beispiel für einen von TypeScript erkannten Fehler bei der Zuweisung eines falschen Datentyps

Derselbe Code in einer .js-Datei, also JavaScript, zeigt keine Fehlermeldung an, da JavaScript keine Typisierung unterstützt und es daher erst bei der Ausführung des Codes, also zur Laufzeit zu einem Fehler bzw. unerwartetem Ergebnis kommen würde.

Derselbe Code in JavaScript ohne Fehlermeldung Derselbe Code in JavaScript ohne Fehlermeldung

Wird dieser JavaScript-Code nun im Browser ausgeführt, kommt es zu einem unerwarteten Ergebnis: Das Ergebnis der Addition ist nicht wie erwartet 20, sondern 1010 und vom Typ string. Dies liegt daran, dass JavaScript die beiden Werte als Textwerte interpretiert und durch das + aneinanderhängt, anstatt sie zu addieren.

Unerwartetes Ergebnis bei der Ausführung des JavaScript-Codes im Browser Unerwartetes Ergebnis bei der Ausführung des JavaScript-Codes im Browser

Da die Web-Browser allerdings kein TypeScript direkt ausführen können, sondern nur JavaScript, muss der TypeScript-Quellcode vor der Auslieferung an den Nutzer in JavaScript übersetzt werden. Dieser Vorgang wird als Transpilierung bezeichnet. Im Wesentlichen werden dabei die Typisierungen entfernt, sodass wieder normales JavaScript entsteht. Man spricht daher bei TypeScript auch von einem Superset von JavaScript, da jeder gültige JavaScript-Code auch gültiger TypeScript-Code ist.

In der Praxis schreibe ich fast ausschließlich TypeScript-Code, da der Mehraufwand durch das Festlegen von Typen meiner Meinung nach vernachlässigbar gering ist (und sich früher oder später immer auszahlt) und dies gerade bei umfangreicheren Projekten zu einer deutlichen Arbeitserleichterung und höheren Qualität führt.

Verwandte Artikel