Se rendre au contenu

TypeScript 3.7 est sorti

5 novembre 2019 par
TypeScript 3.7 est sorti
Makersquad

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.

Python 3.8 est sorti