Typescript

Ich habe erst vor kurzer Zeit mehr über Typescript gelernt. Sonst war “Typescript” für mich zwar ganz neu, doch ich habe es öfters mal gehört. In diesem Blog berichte ich über Typescript. Zuerst erkläre ich was es ist und daraufhin wird kurz erklärt, warum man es verwenden soll.

Was ist Typescript?

Ich habe bisher mehrheitlich mit den Programmiersprachen Java und C# programmiert. Andere Programmierer, die wie ich mehr mit diesen Sprachen vertraut sind, werden bemerkt haben, dass Javascript viel Freiheit lässt. Die ganzen Vorgaben und Typisierungen von Variablen oder Funktionen/Methoden, die man von Java und C# kennt, gibt es bei Javascript nicht. Vorgaben werden nicht erwartet und es ist egal was für Typ eine Variable ist oder welchen Typ eine Funktione zurückgeben sollte. Das mag wohl zuerst toll klingen, denn man muss sich nun nicht mehr Kopf machen und die Typen spezifizieren. Doch was darunter leidet ist die Lesbarkeit und Verständlichkeit im Code. Hinzu habe ich auch Erfahrungen gemacht, dass mir das Debugging schwerer fällt, wenn ich nicht genau weiss, was für Typen einzelne Variablen usw haben. Hier kommt Typescript zum Spiel.

Der Name verrät schon den grossen Unterschied zwischen Typescript und Javascript. In Typescript sind die Typen wichtig und werden wirklich gebraucht. Es ist Standart, jede Variable einen Typ zu geben und auch Funktionsparameter und Ausgaben zu typisieren. Gibt man ein falsches Typ mit, so wird auch wie auf Java und C# ein Fehler gemeldet. Zusätzlich hat Typescript die Objektorientierte Programmierung Features wie Klassen, Interfaces etc.

Die Fehlermeldungen kommen durch den Typescript-Compiler. Der Compiler kompiliert den Quellcode nicht in ein eigenes, binäres oder sogar intermediales Format, sondern wandelt ihn lediglich in regulären Javascript-Code um. Diese Form von Compiler bezeichnet man auch als Transpiler. Jedes Typescript-Code muss zuerst kompiliert werden, damit man tatsächliches Javascript bekommt. Der Compiler meldet die Fehler und man kann sie danach ganz normal beheben. Doch auf eins muss man trotzdem achten: Auch wenn der Compiler ein Fehler meldet, wird trotzdem immer eine JS-Datei erstellt. Diese JS-Datei kann trotz des Fehlers laufen und man merkt gar nicht, dass man ein Fehler in der Applikation hat. Also ist es nicht so wie wenn man Java oder C# Code kompiliert, wo der Compiler einen davon abhält, mit fehlerhaften Code zu arbeiten. 

Warum soll ich Typescript verwenden?

Wir wissen jetzt was Typescript im Endeffekt ist: eine striktere Variante von Javascript mit zusätzlichen Features. Es kann aber sehr bei Projekten mit mehreren Leuten helfen, wo man das Code verstehen muss ohne jetzt Zeit zu verschwenden. Auch ist es hilfreich, wenn man altes Code immer wieder anpassen muss. Typescript verbessert die Lesbarkeit und somit auch die Verständlichkeit in solchen Fällen. Alles ist auf eine Vorgabe (Typisierung) programmiert und somit gibt es keine grosse Freiheit wie in Javascript, was ich persönlich gut finde. 

Falls man aber schon bestehende Projekte mit Javascipt hat, soll das nicht heissen, dass man es nun migrieren soll. Das kostet viel Zeit und es lohnt sich nicht so viel.