Microsoft hat am 8. November 2016 TypeScript 2.1 als Release Candidate veröffentlicht. Die Vorschau erweitert die Typinferenz und kann asynchrone Funktionen für ältere JavaScript-Zielversionen übersetzen. Es handelt sich noch nicht um die fertige Version 2.1.
Async/Await benötigt weiterhin Promises
Bisher setzte TypeScript für async und await ES2015 als Ausgabeziel voraus. Der RC unterstützt auch ES3 und ES5. Der Compiler übernimmt die Umformung des Codes; eine ECMAScript-konforme Promise-Implementierung muss in der Laufzeitumgebung weiterhin vorhanden sein oder ergänzt werden.
Die technische Vorstellung des Release Candidates weist außerdem auf die passenden Bibliotheksdefinitionen hin. Eine Kombination aus dom, es2015.promise und es5 informiert die Typprüfung über die benötigten Schnittstellen. Solche Definitionen stellen selbst keine Laufzeitimplementierung bereit.
Spätere Zuweisungen verbessern die Typinferenz
Bei zunächst uninitialisierten Variablen berücksichtigt die Analyse nun spätere Zuweisungen. Auch anfangs leere Arrays können anhand hinzugefügter Elemente genauer eingeordnet werden. Das soll ungewolltes implizites any reduzieren und Fehler früher sichtbar machen.
Die Vorschau lässt sich unter anderem mit Visual Studio Code verwenden. Compiler-Version und Editor-Version bleiben dabei getrennte Bestandteile der Werkzeugkette. Für reproduzierbare Tests dokumentiert die Versionsseite auf GitHub den konkreten Tag v2.1-rc. Bewegliche npm-Kennzeichnungen wie rc können später auf andere Versionen zeigen; eine feste Versionsbindung verhindert diesen unbeabsichtigten Wechsel.

