typescript / expert
Snippet
Explizites Ressourcenmanagement mit 'using'
Eingeführt in TypeScript 5.2, nutzt die 'using'-Deklaration den 'Symbol.dispose'-Hook, um sicherzustellen, dass Ressourcen wie Dateihandles oder Datenbankverbindungen automatisch beim Verlassen des Block-Scopes bereinigt werden, ähnlich wie 'using' in C# oder 'with' in Python.
snippet.ts
1
2
3
4
5
6
7
8
9
10
11
class TempFile implements Disposable {constructor(public path: string) {}[Symbol.dispose]() {console.log(`Deleting ${this.path}`);}}function process() {using file = new TempFile("/tmp/log.txt");// File is automatically disposed at end of scope}
Erklärung
1
class TempFile implements Disposable
Definiert eine Klasse, die das globale Disposable-Interface erfüllt.
2
[Symbol.dispose]() { ... }
Die Logik, die sofort ausgeführt wird, wenn der Scope der 'using'-Variable endet.
3
using file = new TempFile(...)
Deklariert eine Ressource im Block-Scope, die automatisch die Bereinigungslogik auslöst.