AccueilActualités informatiqueLangage de programmation : TypeScript 4.6 est plus flexible et reconnaît les...

Langage de programmation : TypeScript 4.6 est plus flexible et reconnaît les discordances JSDoc

Après une version bêta et un Release Candidate, la version finale TypeScript 4.6 est désormais disponible. Elle apporte les nouveautés déjà annoncées ainsi que du code autorisé dans le constructeur. super() ainsi que d’autres fonctions qui ont également reçu une documentation détaillée. Il s’agit notamment de l’analyse de flux de contrôle pour les unités discriminées déstructurées, de la nouvelle cible de sortie es2022 et des propositions de noms de paramètres JSDoc.

Sommaire

Dans TypeScript, il est possible d’utiliser les --target-permet de définir la version du langage JavaScript pour le code JavaScript généré et d’inclure des déclarations de bibliothèque compatibles. TypeScript 4.6 permet pour la première fois l’utilisation de es2022 comme cible. Ainsi, les fonctions ECMAScript2022 telles que les champs de classe obtiennent une cible de sortie stable et les fonctions intégrées telles que les at()-sur les tableaux peuvent être utilisées à la fois avec la nouvelle méthode --targetes2022 ainsi qu’avec --lib22 pour les utiliser.

TypeScript 4.6 reconnaît lorsque les noms de paramètres JSDoc ne correspondent pas aux fonctions TypeScript et rend visible une découverte correspondante dans l’éditeur. Dans le langage de balisage JSDoc, les paramètres peuvent être définis à l’aide de la commande @param-sont documentés par une balise. En cas de divergence entre le nom du paramètre JSDoc et la fonction TypeScript, l’éditeur utilisé propose une solution :

TypScript 4.6 zeigt im Editor Vorschläge an, wenn JSDoc-Parameter nicht mit einer TypeScript-Funktion übereinstimmen.

TypScript 4.6 affiche des suggestions dans l’éditeur si les paramètres JSDoc ne correspondent pas à une fonction TypeScript.

(Image : Microsoft)

Jusqu’à présent, TypeScript ne fournissait des informations sur les incohérences JSDoc que lors de la vérification du type des fichiers JavaScript, soit en utilisant l’attribut checkJs-ou en saisissant le commentaire // @ts-check au début d’un fichier.

De plus, TypeScript 4.6 introduit une analyse de flux de contrôle pour les paramètres et variables dépendants qui résultent de la déstructuration d’unions discriminées. Jusqu’à présent, cela entraînait une erreur.

Depuis la version bêta publiée en janvier, on sait que la version 4.6 du langage offre une utilisation plus flexible du constructeur super() car la rigueur de ce dernier semblait aller au-delà de l’objectif visé. Désormais, le code placé avant le constructeur n’entraîne plus invariablement une erreur.

Dans les classes JavaScript, c’est nécessaire, super() avant de faire référence à this pour l’appeler. TypeScript est allé un peu plus loin en imposant pour tout code dans un constructeur super() si sa classe contenait des initialisateurs de propriétés. Cela pouvait aussi concerner par erreur du code valide. Dans la nouvelle édition du langage de programmation, il est possible d’utiliser un autre code avant l’édition de l’éditeur. super() s’exécute, à condition que super() avant une référence à this apparaît au niveau supérieur.

Avec la sortie de la version 4.6, la prévisualisation de TypeScript 4.7 a été publiée. Elle donne un aperçu des fonctionnalités prévues ainsi que des dates de sortie. La version bêta est prévue pour le 5 avril 2022, mais l’équipe de développement précise que « rien n’est gravé dans la pierre ». TypeScript 4.6 était initialement prévu pour le 22 février, ce qui représente un décalage d’environ une semaine par rapport au calendrier.

De plus amples informations sur les nouveautés de TypeScript 4.6 sont disponibles sur le blog des développeurs de Microsoft.

Plus d'articles