Programmiersprachen: Async/Await-Funktionen schaffen es nicht in TypeScript 2.0
Die erste Beta für Version 2.0 von Microsofts Programmiersprache enthält unter anderem zwar neue Typen, um den Umgang mit null und undefined zu erleichtern, andere Pläne der Entwickler brauchen allerdings noch etwas Zeit.
- Julia Schmidt
Das Team hinter Microsofts JavaScript-Alternative hat eine erste Betaversion der kommenden Hauptversion freigegeben. Unter anderem soll die Moduldeklaration in TypeScript 2.0 leichter fallen, da zum Anlegen nun etwa declare module "foo"; ausreicht und Entwickler Variablen und andere Strukturen später einrichten können. Zudem sind Platzhalter à la declare module "foo/*"; möglich, und das Beenden eines Pfadimportbefehls mit !text sorgt dafür, dass TypeScript den Import als String typisiert.
Um den Typ eines Ausdrucks besser erkennen zu können, nutzt TypeScript nach dem Update Kontrollflussanalyse zum Tracken von Typen im Programm. Dadurch ließen sich unter anderem Verbesserungen im Umgang mit Typen realisieren, die nicht Null werden dürfen. In der Beta kann beispielsweise das Setzen eines --strictNullCheck-Flag sicherstellen, dass es sich bei einem Objekt vom Typ string tatsächlich um eine Zeichenkette handelt und nicht um null. Zudem gibt es nun die Typen null und undefined. In einem union-Typ kombiniert, lassen sie sich etwa dazu nutzen, zu bestimmen, ob ein Element tatsächlich null oder undefined werden kann. Mit dem Postfix-Operator | können Entwickler zudem die beiden Optionen aus dem Typ beliebiger Ausdrücke entfernen.
Entwickler, die sich bereits auf die Möglichkeit gefreut hatten, async- und await-Schlüsselwörter zu nutzen, müssen derweil wohl noch bis zur Freigabe von TypeScript 2.1 warten. Die Implementierung habe größere Änderungen am Emitter der Sprache nötig gemacht. Zwar seien die Arbeiten nun abgeschlossen, allerdings benötige man noch einige Zeit zum Testen.
Für die initiale Entwicklung von TypeScript war C#-Schöpfer Anders Hejlsberg verantwortlich. Microsoft stellte die Sprache 2012 vor. Mittlerweile setzen unter anderem Projekte wie AngularJS auf sie. (jul)