- O TypeScript 5.2 adicionou a nova palavra-chave
using, que permite descartar explicitamente objetos ao sair do escopo.
- Recurso semelhante ao
using já existente em linguagens como C#.
- Quando uma determinada função retorna um objeto, atribui-se uma função usando o símbolo
Symbol.dispose.
- Essa função é chamada por meio de
using.
- Depois, ao sair do escopo, a função
Symbol.dispose é chamada.
- Baseado na proposta de gerenciamento explícito de recursos do TC39, que recentemente chegou ao estágio 3.
- Também é possível atribuir funções assíncronas com
Symbol.asyncDispose e tratar objetos de forma assíncrona usando await using.
- Pode ser usado em várias situações, como conexões com banco de dados e manipuladores de arquivos.
1 comentários
Na verdade, esse recurso não é propriamente um recurso do TypeScript, mas algo com cara de polyfill baseado em uma funcionalidade proposta para o ECMAScript.
Pelo que dizem, também deve ser implementado em JavaScript por causa de uma proposta da TC39.
Eu lembro que, quando usava C#, achava
usingbem conveniente, então vejo com bons olhos,mas também tem quem diga que, no fim das contas, não é a mesma coisa que
try ... finally?