TypeScript 6.0 ist da

TypeScript 6.0 ist ein bedeutender Meilenstein. Es ist die letzte Version, die auf einer JavaScript-Codebasis aufbaut. Die nächste Version, 7.0, wird auf einen Go-basierten Compiler umsteigen.

Dieser Wechsel ist wichtig für Ihr Projekt. Wenn Sie zu lange mit dem Upgrade warten, stehen Sie vor zwei aufeinanderfolgenden Migrationen.

Neue Funktionen, die Sie nutzen sollten

• Das using-Schlüsselwort: Dies verwaltet Ressourcen wie Datenbankverbindungen oder Dateihandles. Es bereinigt den Speicher automatisch. Sie benötigen keine zusätzlichen finally-Blöcke mehr, um Leaks zu verhindern.

• Bessere Methoden-Inferenz: Sie können auf explizite Typannotationen für Fluent APIs verzichten. TypeScript übernimmt nun den Kontext für Sie.

• Verbesserungen bei variadischen Tupeln: Sie können Typen nun an jeder beliebigen Position in einem Tupel verteilen (spread). Dies macht das Schreiben komplexer Funktionsmuster wesentlich einfacher.

Performance-Gewinne

Die neue Version ist schneller. Bei großen Projekten sind die Rebuilds bis zu 40 % schneller. Der Compiler nutzt nun ein intelligenteres Dependency-Tracking. Er kompiliert nur dann neu, wenn sich eine Signatur ändert, und nicht schon, wenn sich nur der Funktionskörper ändert.

Breaking Changes, auf die Sie achten sollten

• Namespace-Merging: Sie müssen explizite Exports verwenden, wenn Sie Namespaces mit Klassen zusammenführen.

• Strengere Index-Signaturen: Sie können nicht mehr auf beliebige Eigenschaften eines Objekts zugreifen. Dies verhindert Fehler, die dadurch entstehen, dass man davon ausgeht, dass eine Eigenschaft existiert, obwohl sie es nicht tut.

• Standardeinstellungen im Strict Mode: Das noUncheckedIndexedAccess-Flag ist jetzt standardmäßig aktiviert. Sie müssen prüfen, ob Array-Elemente null oder undefined sind.

Migrationsstrategie

Keine Panik, wenn Sie viele Fehler sehen. Folgen Sie diesen Schritten:

  1. Führen Sie den Compiler zuerst mit dem noEmit-Flag aus, um alle Fehler zu sehen.
  2. Verwenden Sie offizielle Codemods, um Index-Signaturen und Null-Checks automatisch zu korrigieren.
  3. Beheben Sie Namespace-Probleme manuell.
  4. Überprüfen Sie Ihre node_modules. Einige Bibliotheken unterstützen 6.0 möglicherweise noch nicht.

Der Übergang zum Go-Compiler in Version 7.0 wird ein 10-mal schnelleres Type-Checking ermöglichen. Beginnen Sie jetzt mit dem Wechsel auf 6.0, um Ihre Codebasis auf die Zukunft vorzubereiten.

Quelle: https://dev.to/jsmanifest/typescript-60-released-the-last-javascript-based-version-new-features-breaking-changes-and-48a0