Breaking Changes und neue Features

TypeScript 4.0: Release Candidate veröffentlicht
Keine Kommentare

TypeScript 4 ist fast fertig: Die neue Major-Version steht als Release Candidate zum Download bereit. Neuerungen gibt es für die Arbeit mit Tuples. Außerdem können JSX Factories mit dem neuen Release individualisiert werden. Insgesamt müssen sich Entwickler aber keine Sorgen machen: 4.0 ist kein klassisches Major Release und macht einfach nur da weiter, wo 3.9 aufgehört hat.

TypeScript ist auf dem Weg zum Major Release 4.0! Mit der Veröffentlichung des Release Candidates steht die finale Veröffentlichung kurz bevor, die allerdings noch keinen festen Termin hat. Das TypeScript-Team möchte erst noch einige Projekte upgraden und sichergehen, dass die neue Version keine Probleme verursacht. Grundsätzlich sollte das aber nicht viel länger dauern als bei v3.9 und anderen „Minor“-Versionen. Wie Daniel Rosenwasser, Program Manager für TypeScript, nämlich im Blogpost zum Release von TypeScript 4.0 RC erklärt, markiert die Versionsnummer keine außergewöhnlich umfangreichen Breaking Changes. Während im Rahmen der semantischen Versionierung damit zu rechnen wäre, dass eine Major-Version mit Änderungen einhergeht, die einen besonderen Mehraufwand für Projekt-Upgrades bedeuten, ist das bei TypeScript nicht der Fall. TypeScript 4.0 setzt fort, was in v3.9 begonnen wurde. Breaking Changes werden immer in kleinen Schritten ausgerollt, nicht in einem großen Major Release.

Breaking Changes: Was ändert sich in TypeScript 4.0?

Ohne Breaking Changes kommt TypeScript 4.0 allerdings auch nicht aus. Geändert wurden beispielsweise die DOM-Types von lib.d.ts. document.origin, das bisher für alte Versionen des Internet Explorers genutzt wurde, ist entfernt worden. Alternativ steht self.origin zur Verfügung, das aber manuell ausgetauscht werden muss. Auch am Verhalten von Properties abgeleiteter Klassen, die einen Getter oder Setter in der Basisklasse überschreiben wollen, gibt es eine Neuerung, die als Breaking Change gilt. Dieses Verhalten wurde bislang nur bei Accessors als Fehler behandelt, die von Properties geändert wurden oder selbst Properties geändert haben; ab v4.0 wird auch bei Gettern und Settern in Basisklassen eine Fehlermeldung ausgegeben. Breaking Changes finden sich außerdem im Verhalten von strictNullChecks und bei den bislang verwendeten Node Factory Functions, die deprecated wurden.

Neben den Breaking Changes bringt TypeScript 4.0 natürlich auch neue Features mit. Dazu gehört, dass es weiterhin möglich ist, AST Nodes mit Funktionen zu erzeugen. Dafür bringt TypeScript nun ein neues Node Factory API mit. Und im Editor-Support gibt es ein neues Feauture für Deprecations: Wenn eine Declaration im JSDoc-Kommentar mit /**@deprecated*/ markiert ist, wird dies in der Liste von Vorschläge, die im Editor angezeigt werden, künftig markiert. In VS Code werden Vorschläge zur Vervollständigung, die ein als deprecated markiertes Element enthalten, durchgestrichen. Hinsichtlich der Sprache selbst hat sich auch einiges getan. Tuple Types können jetzt flexibler eingesetzt werden, um den „Death by Overload“ zu verhindern, der in manchen Fällen bislang auftrat. TypeScript 4.0 unterstützt darum eine generische Spread-Syntax für Tuple Types. Außerdem können Spread-Elemente jetzt an jeder Stelle des Tuples verwendet werden. Neu eingeführt wurde daneben die Option jsxFragmentFactory, die es erlaubt, JSX Factories individuell zu konfigurieren. Der neue Pragma-Kommentar /** @jsxFrag */ kann beispielsweise genutzt werden, um JSX Factories auf Basis einzelner Dateien zu erstellen.

Alle Informationen zu den neuen Features von TypeScript 4.0 können dem Blogpost zum Release Candidate entnommen werden. Noch handelt es sich um einen Release Candidate, nicht das finale Release, normalerweise sind neue Versionen von TypeScript zu diesem Zeitpunkt aber bereits mit allen neuen Features ausgestattet. Kleiner Änderungen an der Ausgestaltung könnten aber noch vorgenommen werden, bevor die neue Version final erscheint.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -