Menü
Developer

TypeScript bekommt dynamische Import-Ausdrücke und String Enums

Ein Release Candidate für Version 2.4 von Microsofts Programmiersprache soll die Verwendung von Callbacks und schwachen Typen sicherer gestalten und führt neben dynamischen Import-Ausdrücken auch String Enums ein.

vorlesen Drucken Kommentare lesen
TypeScript bekommt dynamische Import-Ausdrücke und String Enums

Um Feedback für die kommende TypeScript-Nebenversion zu erhalten, hat Microsoft einen Release Candidate für Version 2.4 der sich an ECMAScript-6-Standard orientierenden Programmiersprache freigegeben. Unter anderem kann er bereits mit ECMAScripts neuen import()-Calls umgehen, die Module importieren und ihnen Promises zurückliefern. Sie eignen sich unter anderem für Szenarien, in denen Module nur unter bestimmten Bedingungen geladen werden sollen – etwa, wenn sie nur selten verwendete Funktionen enthalten –, da sich so beispielsweise die Ladezeit für zentrale Inhalte reduzieren lässt.

Darüber hinaus haben die TypeScript-Entwickler String Enums eingeführt, die einige Schwierigkeiten von in Unions verwendeten String-Literalen aus der Welt schaffen sollen. Sie weisen eine einfache Repräsentation auf, die sich gut serialisieren lässt, allerdings erstellen sie kein Reverse-Mapping. Außerdem hat das Team eine Reihe neuer Checks eingeführt. So vergleicht TypeScript etwa Parameter gründlicher, die Callbacks sind, um Probleme im Umgang mit Containern, die interne Daten durch Callbacks weiterreichen, zu umgehen. Außerdem gibt es nun eine Prüfung schwacher Typen, die der auf überflüssige Eigenschaften von Objektliteralen ähnelt, und einen Fehler ausgibt, sollte einem solchen Typ etwas zugeordnet werden, das keine überlappenden Eigenschaften besitzt.

Weitere Details lassen sich dem TypeScript-Wiki entnehmen. Microsoft stellte TypeScript erstmals im Herbst 2012 vor. Die Sprache sollte JavaScript damals um fehlende Eigenschaften wie ein statisches Typsystem, Klassen und Module ergänzen. Mittlerweile ist sie etwa Mittel der Wahl, wenn es um besonders komplexe Projekte oder das JavaScript-Framework Angular geht. (jul)