TypeScript 2.8: Das sind die Neuerungen

Die neue Version des von Microsoft entwickelten Supersets für JavaScript führt bedingte Typen in die Sprache ein.

In Pocket speichern vorlesen Druckansicht
TypeScript 2.8: Das sind die Neuerungen

(Bild: Kaz/Pixabay)

Lesezeit: 2 Min.
Von
  • Björn Bohn
Inhaltsverzeichnis

Microsoft hat Version 2.8 der Programmiersprache TypeScript veröffentlicht. Die größte Neuheit der Sprache sind bedingte Typen, mit denen sich Typen anhand anderer Typen definieren lassen. Ebenfalls neu ist ein Flag, mit dem sich Deklarationsdateien separat ausgeben lassen.

Bei bedingten Typen handelt es sich um eine neue Art, Typen auf Basis anderer festzulegen. Die TypeScript-Entwickler haben sich dabei an bedingten Anweisungen in JavaScript orientiert.

Sie erklären das neue Konstrukt mit dem Beispiel A extends B ? C : D. Bei den vier Platzhaltern handelt es sich um Typen. Übersetzt bedeutet diese Zeile, dass wenn Typ A dem Typ B zugeordnet werden kann, es automatisch Typ C ist. Ist dies nicht möglich, ist es D. In einem konkreten Codebeispiel sieht es so aus:

type IdOrName<T extends number | string> =
T extends number ? Id : Name;

declare function createLabel<T extends number | string>(idOrName: T):
T extends number ? Id : Name;

let a = createLabel("typescript"); // Name
let b = createLabel(2.8); // Id
let c = createLabel("" as any); // Id | Name
let d = createLabel("" as never); // never

Damit soll TypeScript Entscheidungen im Typsystem basierend auf anderen Typen treffen können.

TypeScript 2.8 führt die --emitDeclarationsOnly-Flag in die Sprache ein. Sie soll nützlich sein, wenn Entwickler einen alternativen Build-Schritt für die Ausgabe von JavaScript-Dateien haben, aber Deklarationsdateien separat ausgeben müssen.

Für Nutzer der JavaScript-Erweiterung JSX hat TypeScript 2.8 ebenfalls gesorgt. Entwickler können jetzt die JSX Factory auf Dateiebene einstellen, indem sie einen @jsx-Kommentar in der obersten Zeile hinzufügen. Das soll JSX-Nutzern helfen, die unterschiedliche Bibliotheken wie Preact, Stencil oder Inferno in einer Applikation mischen mussten.

Nachdem die vorherige Version mit etwas Verspätung erschienen ist, läuft der Release-Plan von Microsoft jetzt wieder regelmäßig. Vor etwa einem Jahr hat sich der Abstand zwischen den Neuerscheinungen auf zwei Monate verkürzt.

Eine detaillierte Liste der Neuerungen ist im Microsoft-Blog zu finden. Die neue TypeScript-Version ist über NuGet oder npm verfügbar. Für npm müssen Interessierte den Befehl npm install -g typescript ausführen.

Mehr dazu auf heise Developer:

(bbo)