- 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
using dé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.
using permet d’appeler cette fonction.
- Ensuite, lorsque l’objet sort de sa portée, la fonction
Symbol.dispose est appelée.
- 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’utiliser await using pour 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.