TypeScript 4.2 est disponible

Par:
fredericmazue

mer, 24/02/2021 - 13:07

Microsoft vient d'annoncer la disponibilité de TypeScript 4.2. Cette version apporte de nombreuses évolutions au langage.

Lors de l'annonce de la disponibilité de TypeScript 4.2 bêta, nous vous avions présenté de nouvelles possibilités pour définir des tuples avec éléments supplémentaires.

Mentionnons aujourd'hui une préservation plus intelligente pour les alias de type. TypeScript permet de déclarer de nouveaux noms pour les types appelés alias de typePar exemple :

type BasicPrimitive = number | string | boolean;

TypeScript a un ensemble de règles pour savoir quand réutiliser les alias de type lors de l'impression de types. Mais dans le cas d'une utilisation de l'alias comme ceci, qui retourne soit l'alias soit undefined :

export type BasicPrimitive = number | string | boolean;

export function doStuff(value: BasicPrimitive) {
    if (Math.random() < 0.5) {
        return undefined;
    }

    return value;
}

cela ne fonctionne pas très bien, ainsi qu'on peut le constater dans le terrain de jeu en ligne de TypeScript.

Avec TypeScript 4.1.5, si on passe la souris sur le nom de la fonction doStuff, on voir le type retourné imprimé in extenso au lieu de l'alias :

TypeScript 4.2 est plus intelligent et suit la manière dont les types ont été construits en conservant des parties de la façon dont ils ont été initialement écrits et construits au fil du temps. TypeScript 4.2 suit également et différencie les alias de type des instances d'autres alias.

Le résultat peut être observé dans le terrain de jeu, avec TypeScript 4.2

Toutes les nouveautés de TypeScript 4.2 peuvent être retrouvées dans l'annonce de Microsoft.