Le nouveau mot-clé de TypeScript 5.2 : `using`
(totaltypescript.com)- TypeScript 5.2 ajoute un nouveau mot-clé,
using, qui permet de libérer explicitement un objet lorsqu’il sort de sa portée. - Une fonctionnalité similaire au
usingdéjà présent notamment en C#.- Lorsqu’une fonction renvoie un objet, il est possible de lui associer une fonction via le symbole
Symbol.dispose. usingpermet d’appeler cette fonction.- Ensuite, lorsque l’objet sort de sa portée, la fonction
Symbol.disposeest appelée.
- Lorsqu’une fonction renvoie un objet, il est possible de lui associer une fonction via le symbole
- Cette fonctionnalité repose sur la proposition de gestion explicite des ressources du TC39, qui a récemment atteint l’étape 3.
- Avec
Symbol.asyncDispose, il est possible d’associer une fonction asynchrone et d’utiliserawait usingpour libérer un objet de manière asynchrone. - Peut être utilisé dans divers contextes, comme les connexions DB, les gestionnaires de fichiers, etc.
1 commentaires
Cette fonctionnalité n’est en réalité pas propre à TypeScript, mais ressemble plutôt à une sorte de polyfill basé sur une fonctionnalité proposée pour ECMAScript.
D’après une proposition du TC39, elle devrait aussi être implémentée en JavaScript.
Comme j’avais trouvé
usingassez pratique à l’époque où je faisais du C#, je l’accueille plutôt favorablement,mais certains disent aussi qu’au fond, ce n’est pas juste la même chose que
try ... finally.