Date de sortie : 5 novembre 2019
Documentation officielle : Announcing TypeScript 3.7
TypeScript 3.7 est une release que vous allez adorer. L’optional chaining ?. et le nullish coalescing ?? vont éliminer des centaines de lignes de checks défensifs dans vos codebases. Ces features arrivent aussi en JavaScript ES2020, mais TypeScript vous les offre dès maintenant.
Les nouveautés principales
Optional chaining ?. — fini les checks en cascade
Accéder aux propriétés imbriquées sans vérifier chaque niveau :
// Avant let street = user && user.address && user.address.street; // Après let street = user?.address?.street; // Fonctionne aussi pour les méthodes et index let result = obj.method?.(); let item = arr?.[0];
Nullish coalescing ??
Valeur par défaut uniquement si null ou undefined :
// Problème avec || let count = config.count || 10; // 0 devient 10 ! // Solution avec ?? let count = config.count ?? 10; // 0 reste 0 let name = user.name ?? "Anonymous";
Assertion functions
Fonctions qui garantissent un type après leur appel :
function assertIsString(val: unknown): asserts val is string {
if (typeof val !== "string") {
throw new Error("Not a string!");
}
}
function process(value: unknown) {
assertIsString(value);
// value est maintenant string
console.log(value.toUpperCase());
}
declare pour les champs de classe
Déclarer un champ sans l’initialiser :
class User {
declare name: string; // Pas de code généré
constructor(data: UserData) {
Object.assign(this, data);
}
}
Autres améliorations
- Récursion dans les alias de type
- --declaration et --allowJs ensemble
- Fonction build pour les éditeurs
- Meilleur support des fichiers .d.ts
Échanger avec un expert TypeScript
Nous revenons vers vous sous 24h.
Chez Makersquad, nous accompagnons nos clients dans le développement d’applications robustes et maintenables grâce à TypeScript. Que ce soit pour structurer un nouveau projet, migrer un codebase existant ou améliorer la qualité et la sécurité de votre application, notre équipe met son expertise TypeScript à votre service.
À retenir
?. et ?? sont les deux opérateurs que JavaScript aurait dû avoir depuis le début. TypeScript 3.7 est une mise à jour incontournable qui va nettoyer votre code et réduire les bugs liés aux valeurs nulles.