Neue TypeScript-Version kommt mit dynamischen import-()-Expressions

TypeScript 2.4 erschienen: Die Neuerungen auf einen Blick

Stefanie Schäfers

© Shutterstock/bondvit  

Rund zwei Wochen nach der Veröffentlichung des Release Candidates steht TypeScript 2.4 nun final zur Verfügung. Im Gepäck hat die neue Sprachversion viele neue Features – darunter etwa auch dynamische import()-Expressions und String-Enums.

Rund zwei Monate sind seit dem Release von TypeScript 2.3 vergangen. Seitdem wurde einige Arbeit in das JavaScript-Superset gesteckt, sodass die neue Version mit vielen Verbesserungen und einigen neuen Features daherkommt. In einem Blogpost im TypeScript-Blog hat Daniel Rosenwasser die Highlights der neuen Sprachversion vorgestellt.

TypeScript 2.4 – das ist neu

Wie bereits in der Ankündigung des Release Candidates der neuen TypeScript-Version bekanntgegeben, bringt TypeScript 2.4 einige neue Features mit. Eine der spannendsten Neuerungen ist dabei der Support für dynamische import()-Expressions. Dabei handelt es sich um ein neues ECMAScript-Feature, dass es dem User erlaubt, ein Modul an jedem beliebigen Punkt eines Programms asynchron anzufordern. Diese Module werden als Promises der Module selbst zurückgegeben und können in einer async-Funktion mit await oder als Callback-Funktion mit .then versehen werden. Dazu sagt Rosenwasser:

What this means in short that you can conditionally and lazily import other modules and libraries to make your application more efficient and resource-conscious.

Neu sind auch die sogenannten String-Enums. Bereits seit dem Release von TypeScript bietet das JavaScript-Superset Enums; zudem stehen schon seit einiger Zeit String Literal Types zur Verfügung. In der neuen TypeScript-Version gibt es nun einige Neuerungen bei den Aufzählungstypen: Ab sofort erlaubt TypeScript es Enum-Members, String-Initializers zu beinhalten. Diese String-Enums haben etwa den Vorteil, dass mit ihnen leichter debuggt werden kann; zudem können sie bestehende Systeme, die Strings nutzen, beschreiben.

Return Types als Inference-Ziele

TypeScript 2.4 bringt zudem einige Verbesserungen in puncto Typen mit. So lässt TypeScript künftig Typen in gewisssen Umständen durch Return Types laufen; User können so leichter entscheiden, an welche Stelle sie Typen platzieren wollen. Außerdem versucht TypeScript nun, Type-Parameter beim Vergleichen von zwei Single-Signature-Typen zu vereinen. Das führt gleichzeitig zu strengeren Prüfungen auf Generic Functions.

Ebenso führt die neue Sprachversion das Konzept der sogenannten „weak types“ ein. Dazu heißt es im zugehörigen Blogpost:

A weak type is any type that contains nothing but all-optional properties. […] In TypeScript 2.4, it’s now an error to assign anything to a weak type when there’s no overlap in properties.

Diese Änderung des Typ-Systems kann potenziell zu einigen Breaking Changes führen; laut des TypeScript-Teams sollten sich diese aber nicht in Fehlern in bestehenden Codebases äußern.

Alle Informationen zur neuen TypeScript-Version können noch mal im oben genannten Blogpost nachgelesen werden; alle Neuerungen sind auf GitHub zusammengefasst.

Geschrieben von
Stefanie Schäfers
Stefanie Schäfers
Stefanie Schäfers studierte zunächst Anglistik in Marburg und machte anschließend ihren Masterabschluss im Bereich Creative and Cultural Industries an der Glasgow Caledonian University in Glasgow, Schottland. Seit August 2014 ist sie als Redakteurin in der Redaktion des PHP Magazins bei Software & Support Media tätig. Zuvor absolvierte sie bereits mehrere Praktika in Online-Redaktionen und Verlagen.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.