TypeScript 3.0 veröffentlicht

TypeScript 3.0 ist da: Das sind die neuen Features

Ann-Cathrin Klose

© Shutterstock / BrAt82

Ein neuer Top-Type namens unknown, neue Refactorings, Quick Fixes und viel mehr: TypeScript 3.0 ist da und bringt zahlreiche neue Features mit. Ein Highlight sind die neuen Projektreferenzen für Builds.

TypeScript 3.0 wurde veröffentlicht und bringt eine Reihe neuer Features für Entwickler mit. Dazu gehören neue Optionen für die interne Referenz von Projektbestandteilen, die von Daniel Rosenwasser (Program Manager von TypeScript) als eines der Highlights des Release vorgestellt wurden. Mit den neuen Projketreferenzen soll die Verwaltung verschiedener Teilprojekte, die im Rahmen des Build-Prozesses zusammenlaufen sollen, erleichtert werden. Die tsconfig.json-Dateien solcher Teilprojekte können dazu mit TypeScript 3.0 selbst als Dependencies innerhalb von tsconfig.json spezifiziert werden. Das soll, so Rosenwasser, dazu führen, dass TypeScript ein Verständnis für die Buildhierarchie und Struktur des Outputs von Projekten abbilden und umsetzen kann. Man rechnet damit, dass die Build-Zeiten von TypeScript-Projekten dadurch sinken werde.

Projektreferenz in TypeScript 3.0

Im Rahmen der neue Projektferenzen bringt TypeScript 3.0 einige APIs mit, die für die Integration in das Ökosystem von Build-Tools genutzt werden können. Mit dem neuen --build-Flag kann außerdem ohne ohne weiteres Tooling im Build-Prozess mit den neuen Funktionen gearbeitet werden. Für den Befehl tsc --build stehen vier weitere Flags zur Verfügung. --verbose zeigt die einzelnen Schritte im Build-Prozess an, --dry führt einen Build durch, ohne Dateien auszugeben, --clean versucht, Output-Files zu entefrnen, --force erzwingt einen nicht-inkrementellen, vollständigen Rebuild eines Projekts.

Top-Type: unknown

Neu in TypeScript 3.0 ist außerdem der Top-Type unknown. Dabei handelt es sich um ein selektiveres Gegenstück zu any. Daniel Rosenwasser beschreibt den neuen Type wie folgt:

TypeScript 3.0 introduces a new type called unknown that does exactly that. Much like any, any value is assignable to unknown; however, unlike any, you cannot access any properties on values with the type unknown, nor can you call/construct them. Furthermore, values of type unknown can only be assigned to unknown or any.

Die Implementierung von unknown bedeutet auch, dass der Name nun reserviert ist und nicht mehr für eigene Type Declarations verwendet werden kann. Das könnte zu Problemen mit bestehendem Code führen. Ansonsten komme TypeScript 3.0 aber weitgehend ohne Breaking Changes aus, wie dem Blogpost zum Release zu entnehmen ist. Weitere Breaking Changes gab es nur an einigen wenigen APIs.

Neue Refactorings in TypeScript 3.0

Zwei neue Refactorings haben es in das Release geschafft. Mit TypeScript 3.0 ist es nun möglich, Named Imports in Namespace Imports und zurück zu konvertieren. Außerdem steht ein neues Refactoring zur Verfügung, das geschweifte Klammern aus Arrow Functions entfernt.

Auch bei den Quick Fixes gibt die Roadmap zum Release an, dass zwei Neuerungen vorgenommen wurden. Bei einer davon handelt es sich um einen Code-Fix, der nicht genutzte Lables entfernt, das andere Code-Fix entfernt Code, der nicht aufgerufen werden kann.

Einen Überblick über alle Neuerungen gibt Daniel Rosenwasser im TypeScript-Blog.

TypeScript 3.1: „BigInts“

Im August soll bereits TypeScript 3.1 erscheinen. Mit diesem Release folgt dann auch in TypeScript der Support für BigInt, der bereits in Node.js 10.7 implementiert wurde.

Verwandte Themen:

Geschrieben von
Ann-Cathrin Klose
Ann-Cathrin Klose
Ann-Cathrin Klose hat allgemeine Sprachwissenschaft, Geschichte und Philosophie an der Johannes Gutenberg-Universität Mainz studiert. Bereits seit Februar 2015 arbeitete sie als redaktionelle Assistentin bei Software & Support Media und ist seit Oktober 2017 Redakteurin. Zuvor war sie als freie Autorin tätig, ihre ersten redaktionellen Erfahrungen hat sie bei einer Tageszeitung gesammelt.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: