Überblick über alle Neuerungen in TypeScript 2.0 RC

TypeScript 2.0 RC steht zur Verfügung
Kommentare

Nachdem im Juli bereits die erste Beta von TypeScript 2.0 erschienen ist, steht jetzt der Release Candidate in den Starlöchern. TypeScript 2.0 RC gibt einen ersten Eindruck von den Features der finalen Version und trumpft mit Tagged Unions, neuen Literal Types und verbessertem Support für die tsconfig.json-Datei auf.

Wie Daniel Rosenwasser, Program Manager bei TypeScript, bekanntgibt, ist TypeScript 2.0 „almost out“. Der Release Candidate enthält fast alle Features, die auch die finale Version von TypeScript haben soll – neue Major-Features sind nicht geplant. Dennoch wurden seit dem Release von TypeScript 2.0 Beta einige Neuerungen eingeführt, dazu zählen unter anderem Tagged Unions sowie neue Literal Types.

TypeScript 2.0 RC – das steckt drin

Im Folgenden stellen wir euch die Highlights des Release Candidate von TypeScript 2.0 vor.

Tagged Unions

Das neue Feature Tagged Unions bringt Funktionalitäten von Sprachen wie F#, Swift und Rust zu JavaScript. Einigen Entwicklern ist es vielleicht unter dem Namen discriminated unions, disjoint unions oder algebraic data types bekannt – wie auch immer die Bezeichnung lautet, wichtig ist, was dahinter steckt:

Als Beispiel sollen zwei Types dienen, Circle und Square. Zudem gibt es für die beiden den Union Type Shape. Circle und Square haben jeweils ein Feld namens kind, das immer den String “circle“ bzw. “square“ enthält. Jedes Type verfügt über ein allgemeines Feld, ist aber mit einem spezifischen Wert getagged. In TypeScript 1.8 erforderte das Schreiben einer Funktion für eine Area von Shape noch Type Assertions für jedes Type in Shape. Mit TypeScript 2.0 ist das nicht länger nötig: Die Sprache versteht auf Basis des kind-Felds zu unterscheiden, sodass sich das Boilerplate reduzieren lässt.

Tagged Unions vereinfachen also die Typsicherheit durch die Nutzung von modernen JavaScript-Pattern.

API Summit 2017

Web APIs mit moderner Web-Technologie konsumieren

mit Rainer Stropek (software architects)

API First mit Swagger & Co.

mit Thilo Frotscher (Freiberufler)

Neue Literal Types

Bereits in TypeScript 1.8 wurden String literal Types eingeführt – jetzt ist es an der Zeit für weitere Literal Types. Jedes einzelne boolean-, number– und enum-Member bekommt ab sofort sein eigenes Type:

type Digit = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9;
let nums: Digit[] = [1, 2, 4, 8]; 

// Error! '16' isn't a 'Digit'! 
nums.push(16);

Durch die Nutzung von Tagged Unions lassen sich Befehle jetzt auch natürlicher ausdrücken.

Globs, Includes und Excludes

Mit der Einführung der tsconfig.json-Datei wurde das manuelle Auflisten von Dateien ziemlich umständlich. Um dem Abhilfe zu schaffen, wurde bereits TypeScript 1.6 das exclude-Feld eingeführt. Doch das reichte nicht aus – jeder einzelne Speicherpfad musste weiterhin angegeben werden. TypeScript 2.0 bringt nun Unterstützung für Globs mit sich: Damit lassen sich Wildcards für Pfade ausstellen. Globs können sowohl im neuen include– als auch im bekannten exclude-Feld genutzt werden.


Ausführliche Informationen zu allen Neuerungen in TypeScript 2.0 RC finden sich im zugehörigen Blogpost; von dort kann die aktuelle Version auch heruntergeladen werden.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -