Was ist eigentlich Typescript?
Schon der Name verrät eigentlich den großen Unterschied zum üblichen Javascript: In Typescript spielen Typen eine Rolle, und dann direkt eine sehr große. Denn hier ist es Standard, jede Variable mit einem Typ zu versehen und auch Funktionsparameter und Ausgaben im Vorfeld zu typisieren. Wenn ihr dann einen Wert falschen Typs mitgebt, wird euch direkt ein Fehler gemeldet.
Typescript-Compiler findet eure Fehler
Dass diese Fehlermeldung kommt, liegt daran, dass ihr .ts-Dateien, also den Typescript-Code, kompilieren müsst, um tatsächliches Javascript zu bekommen. Hier fehlen diese Typdeklarationen dann natürlich, aber schon beim Kompilieren werdet ihr auf den Fehler hingewiesen und könnt diesen dann beheben. Demgegenüber steht natürlich der zusätzliche Schritt des Kompilierens, was aber inzwischen auch bei Javascript in der ES6-Variante notwendig ist.
Außerdem wichtig: Auch wenn der Compiler euch Fehler anzeigt, wird in jedem Fall eine Javascript-Datei erstellt, und diese ist potenziell auch lauffähig. Das bedeutet, dass Typescript euch zwar dabei hilft, Fehler zu vermeiden, allerdings am Ende keine Sicherheit geben kann, dass euer Code auch wirklich fehlerfrei ist. Anders als beispielsweise Eclipse hält euch der Compiler nämlich nicht davon ab, mit dem fehlerhaften Code zu arbeiten.
Das Codeschreiben an sich fällt aber durchaus leicht. Tatsächlich bietet Typescript extrem viele Tooling-Optionen wie Autovervollständigung und das leichte Refactoring eures Codes. Das haben die Entwickler auch in Support-Packages gebündelt, mit denen die meisten gängigen Editoren arbeiten können und Typescript so mit allen Funktionen unterstützen. In Visual Studio ist sogar das Kompilieren direkt möglich.
Ansonsten setzt Typescript auf Klassen. Die stark an objektorientierten Programmiersprachen angelehnte Syntax war auf jeden Fall einmal sehr hilfreich. Heutzutage trennt die Schreibweise in Javascript und Typescript allerdings nur noch die Typisierung, weshalb hier der Mehrwert inzwischen geringer ist. Ansonsten bietet Typescript auch die Möglichkeit zu einem modularen Programmieren, allerdings muss das Verknüpfen zusätzlich von außen durch einen Module Loader gestemmt werden, Typescript selbst kennt nur Methoden zum Im- und Exportieren.
Für wen lohnt sich Typescript?
Am Ende ist Typescript also einfach nur eine striktere Variante von Javascript, was euch helfen wird, wenn ihr mit mehreren Leuten an einem Projekt arbeitet oder alten Code immer mal wieder anpassen müsst. Dann erhöhen die Typdeklarationen die Lesbarkeit eures Codes und machen ihn einfacher zu überarbeiten. Für bestehende Projekte bedeutet das natürlich erst einmal einen Mehraufwand, wenn ihr ihn in Typescript überführen wollt, und ansonsten immer ein bisschen mehr Schreibarbeit. Die kann euch aber vor Fehlern bewahren und zwingt euch, genauer über euren Code nachzudenken, ehe ihr ihn aufschreibt.
Falls ihr mit Angular 2 arbeitet, denkt ansonsten daran, dass das Entwicklerteam selbst empfiehlt, Angular 2 mit Typescript zu nutzen. Und wer vorher vor allem mit objektorientierten Sprachen und Typdeklarationen gearbeitet hat, dem dürfte der Umstieg auf Typescript deutlich leichter fallen, als zum normalen Javascript.
Ist die Typdeklaration für euch ein Fluch oder Segen?
Typescript ist fantastisch. Das beste aus zwei Welten. Nach Jahren der getypten Programmierung (Java und C#) und weiteren Jahren der ungetypten (JS) ist Typescript für mich zu einer echten Bereicherung geworden. Da hat Microsoft mal was richtig gut gemacht.