TypeScript 5.9 : Les fonctionnalités qui changent la donne
Infer type predicates, satisfies amélioré, decorators stabilisés, config héritée… Découvrez les nouveautés TypeScript 5.9 avec des exemples pratiques.
TypeScript 5.9 : toujours plus de sécurité, toujours moins de bruit
TypeScript continue d'évoluer avec l'objectif de rendre le typage plus intelligent et moins verbeux. La version 5.9 apporte des améliorations significatives en matière d'inférence de types, de performances du compilateur et de DX (Developer Experience).
Inférence automatique des type predicates
TypeScript 5.9 infère automatiquement les fonctions de type guard :
// Avant : annotation manuelle requise
function isString(value: unknown): value is string {
return typeof value === 'string';
}
// Maintenant : l'inférence fonctionne automatiquement
const values = [1, "hello", 2, "world", null];
const strings = values.filter(v => typeof v === 'string');
// ✅ Type inféré : string[] (au lieu de (string | number | null)[])
Cela élimine des centaines de type guards manuels dans une codebase typique.
L'opérateur satisfies amélioré
L'opérateur satisfies, introduit en TS 5.0, gagne de nouvelles capacités :
type Theme = {
colors: Record<string, string>;
spacing: Record<string, number>;
};
const theme = {
colors: {
primary: '#3b82f6',
secondary: '#8b5cf6',
},
spacing: {
sm: 8,
md: 16,
lg: 24,
},
} satisfies Theme;
// ✅ theme.colors.primary est de type string (pas Record<string, string>)
// ✅ Autocomplétion fonctionne sur "primary", "secondary", "sm", "md", "lg"
Le satisfies valide la structure tout en préservant les types les plus précis possibles.
Améliorations de performance du compilateur
TypeScript 5.9 offre des gains de performance significatifs :
- -30% de temps de compilation sur les projets moyens à grands
- Édition incrémentale améliorée : les changements dans un fichier ne recompilent que les dépendants directs
- Résolution de modules optimisée : cache plus intelligent pour les monorepos
- Language server plus réactif : autocomplétion et diagnostics quasi-instantanés
Pour les monorepos avec plus de 100 packages, le gain peut atteindre 50% de temps de build.
Questions fréquentes
TypeScript 5.9 est-il compatible avec les projets existants ?
Oui, TypeScript 5.9 est rétrocompatible. La mise à jour est généralement transparente. Exécutez simplement 'npm install typescript@latest' et vérifiez les éventuels nouveaux diagnostics.
Quelle version de Node.js faut-il pour TypeScript 5.9 ?
TypeScript 5.9 nécessite Node.js 18.12 minimum. Node.js 20+ est recommandé pour les meilleures performances.