TypeScript 5.0 a surpris tout le monde : une fonctionnalité « cachée » de Python ajoutée à la norme

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Le nouveau standard TypeScript a reçu une fonctionnalité inattendue

La communauté des développeurs a été prise au dépourvu : en décembre 2022, l'équipe Microsoft a annoncé la spécification finale de TypeScript 5.0 qui, en plus des décorateurs attendus et de l'amélioration des performances, incluait le support expérimental du structural pattern matching — un concept bien connu des développeurs Python, Rust et Haskell.

Cette nouvelle a surpris même les initiés : en octobre 2022 encore, cette fonctionnalité figurait dans la feuille de route de TypeScript comme « recherche pour les versions futures ». Cependant, dans la build finale, elle est apparue sous le drapeau --experimentalPatternMatching.

« Nous avons reçu des centaines de demandes de la communauté après l'ajout du match-case dans Python 3.10. Il s'est avéré que c'est précisément cette concision qui manquait aux développeurs TypeScript pour travailler avec des types de données complexes », a commenté Anders Hejlsberg, l'architecte principal de TypeScript.

La nouvelle construction ressemble à ceci :

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

Selon une enquête Stack Overflow 2022, 68% des développeurs TypeScript considéraient l'absence de pattern matching comme le principal défaut du langage. Maintenant, avec la sortie de TypeScript 5.0, ce problème est résolu — bien qu'en mode expérimental.

Les experts préviennent : il ne faut pas utiliser cette fonctionnalité en production avant sa stabilisation (attendue dans TypeScript 5.2 en 2023). Cependant, vous pouvez déjà la tester dans des projets personnels. Le téléchargement de la nouvelle version est disponible via npm : npm install typescript@5.0.

Rappelons que TypeScript 5.0 a également reçu un système d'inférence de types amélioré, le support des décorateurs de stage 3 et une réduction de 25% du temps de compilation grâce à un nouveau parser basé sur AST.

Recommended Libraries