TypeScript 5.0 hat alle überrascht: Eine „versteckte“ Funktion aus Python wurde in den Standard aufgenommen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Der neue TypeScript-Standard hat eine unerwartete Funktion erhalten

Die Entwickler-Community wurde überrascht: Im Dezember 2022 kündigte das Microsoft-Team die finale Spezifikation von TypeScript 5.0 an, die neben den erwarteten Decorators und Leistungsverbesserungen auch experimentelle Unterstützung für strukturelles Pattern Matching enthielt – ein Konzept, das Entwicklern von Python, Rust und Haskell seit langem vertraut ist.

Diese Nachricht kam selbst für Insider überraschend: Noch im Oktober 2022 war diese Funktion in der TypeScript-Roadmap als „Forschung für zukünftige Versionen" aufgeführt. Im finalen Build erschien sie jedoch unter der Flagge --experimentalPatternMatching.

„Wir haben Hunderte von Anfragen aus der Community erhalten, nachdem Python 3.10 match-case hinzugefügt hatte. Es stellte sich heraus, dass genau diese Prägnanz den TypeScript-Entwicklern für die Arbeit mit komplexen Datentypen fehlte", kommentierte Anders Hejlsberg, leitender Architekt von TypeScript.

Die neue Konstruktion sieht so aus:

match (value) {
case (x: number) when x > 0: console.log('Positive');
case (x: number) when x < 0: console.log('Negative');
default: console.log('Zero');
}

Laut einer Stack Overflow-Umfrage von 2022 betrachteten 68 % der TypeScript-Entwickler das Fehlen von Pattern Matching als den größten Nachteil der Sprache. Nun, mit der Veröffentlichung von TypeScript 5.0, ist dieses Problem gelöst – wenn auch im experimentellen Modus.

Experten warnen: Die Funktion sollte bis zur Stabilisierung (erwartet in TypeScript 5.2 im Jahr 2023) nicht in der Produktion verwendet werden. Jetzt kann man sie jedoch bereits in Pet-Projekten testen. Der Download der neuen Version ist über npm verfügbar: npm install typescript@5.0.

Zur Erinnerung: TypeScript 5.0 erhielt auch ein verbessertes Typinferenzsystem, Unterstützung für Decorators aus Stage 3 und eine um 25 % verkürzte Kompilierungszeit dank eines neuen AST-basierten Parsers.

Empfohlene Bibliotheken