Ajouter un commentaire

Sortie de TypeScript 3.9 bêta

Par:
fredericmazue

lun, 30/03/2020 - 15:46

Microsoft a annoncé la sortie de TypeScript 3.9 en version bêta. Une mouture riche pour laquelle Microsoft met particulièrement en avant une amélioration de l'inférence de type ainsi qu'une amélioration de la vitesse du compilateur et du temps d'application des mises à jour lors de la modification de noms de fichier du projet.

En ce qui concerne l'inférence, les versions récentes de TypeScript ( à partir de 3.7) ont eu des mises à jour des déclarations de fonctions comme Promise.all et Promise.race Malheureusement, cela a introduit quelques régressions, en particulier lors du mélange des valeurs avec null ou undefined. Par exemple :

interface Lion {
    roar(): void
}

interface Seal {
    singKissFromARose(): void
}

async function visitZoo(lionExhibit: Promise<Lion>, sealExhibit: Promise<Seal | undefined>) {
    let [lion, seal] = await Promise.all([lionExhibit, sealExhibit]);
    lion.roar(); // uh oh
//  ~~~~
// Object is possibly 'undefined'.
}

Un comportement étrange ! dit Microsoft. Cela a été corrigé avec des améliorations dans le processus d'inférence de TypeScript 3.9, et le code qui précède n'est plus une erreur.

En ce qui concerne la vitesse de compilation, Microsoft assure avoir obtenu une amélioration jusqu'à 40%.

Microsoft a apporté quelques modifications à la fonctionnalité de changement de nom de fichier dans les scénarios de l'éditeur. L'équipe de Visual Studio Code avait signalé que lors du changement de nom d'un fichier, la détermination des instructions d'importation à mettre à jour pouvait prendre entre 5 et 10 secondes. TypeScript 3.9 résout ce problème en modifiant les paramètres internes de la façon dont le compilateur et le service de langage mettent en cache les recherches de fichiers.

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
 Y   Y  W     W  III  PPPP       J 
Y Y W W I P P J
Y W W W I PPPP J
Y W W W I P J J
Y W W III P JJJ