Programmiersprachen: TypeScript 2.3 erweitert Iteratoren und Generatoren
Die mit ES2015 eingeführten Konstrukte lassen sich nun auch für ältere JavaScript-Varianten verwenden und sind auch asynchron verfügbar. Neue Flags helfen zudem beim schrittweisen Umstieg von JavaScript zu TypeScript.
Passend zu der Ende März erfolgten Ankündigung, künftig im Zweimonatstakt frische TypeScript-Versionen zu veröffentlichen, hat Microsoft nun Version 2.3 der Programmiersprache herausgebracht. Sie bringt neue Flags zum Überprüfen von JavaScript-Dateien mit und erweitert den Einsatz von Iteratoren und Generatoren.
JavaScript kennt die beiden Konstrukte seit ECMAScript 6 (ES2015). Mit einem Iterator können Entwickler wie in anderen Sprachen über Elemente wie Arrays oder Maps iterieren. Das Interface stellt dafür die Methdoen next, return und throw zur Verfügung. Generatoren nutzen wiederum das Iterator-Interface, um einzelne Ergebnisse über das Schlüsselwort yield bereitzustellen.
Bisher ließen sich die Konstrukte in TypeScript nur dann verwenden, wenn das JavaScript-Ziel ECMAScript 6 oder höher war. Das neu eingeführte Compiler-Flag --downlevelIteration ermöglicht auch den Einsatz in ES3 und ES5. Außerdem bietet TypeScript 2.3 bereits Support für asynchrone Iteratoren und Generatoren, die für JavaScript derzeit als Proposal im Technical Committee 39 (TC39) vorliegen und in künftige ECMAScript-Versionen einfließen sollen.
PrĂĽfen von JavaScript und Typen
Um Entwicklern den schrittweisen Umstieg von JavaScript auf TypeScript zu erleichtern, haben die Macher das Flag --checkJs eingeführt. Es ergänzt das vorhandene --allowJs-Flag und meldet im Gegensatz dazu Fehler innerhalb der JavaScript-Dateien. Bekannte Problemstellen können Entwickler mit // @ts-ignore markieren, worauf der Compiler keine Fehler für die folgende Zeile liefert. Die zusätzlich eingeführten Kommentarbefehle // @ts-check und // @ts-nocheck starten beziehungsweise unterbinden das Überprüfen der jeweiligen JavaScript-Datei.
Ebenfalls neu ist die Compiler-Option --strict, die durch eine strenge Überprüfung möglichst hohe Typsicherheit garantieren soll. Mit TypeScript 2.3 spezifiziert --strict die folgenden Flags:
- --strictNullChecks
- --noImplicitAny
- --noImplicitThis
- --alwaysStrict
Einzelne lassen sich durch Verwenden des SchlĂĽsselworts false deaktivieren. Eventuell wird --strict in kĂĽnftigen TypeScript-Versionen weitere Optionen verwenden.
VerfĂĽgbarkeit und Geschichte
Weitere Details lassen sich dem Blogbeitrag sowie der offiziellen Ankündigung auf GitHub entnehmen. TypeScript 2.3 lässt sich über npm herunterladen: npm install - g typescript. Nutzer von Visual Studio 2015 und 2017 können die aktuelle Variante aus der Entwicklungsumgebung heraus installieren. Visual Studio Code wird TypeScript 2.3 im typischerweise zum Monatsanfang erscheinenden frischen Release enthalten. Ungeduldige können jedoch den quelloffenen Sourcecode-Editor ebenso manuell auf die neue Version umstellen wie das Plug-in für Sublime.
Microsoft hatte TypeScript als Obermenge von JavaScript entworfen. Die Programmiersprache bietet unter anderem statische Typisierung und das Kapseln von Klassen mit Modulen. Sie entstand vor allem mit Blick auf Großprojekte. Zu den Schöpfern gehört mit Anders Hejlsberg einer der Väter von C#. (rme)