Explicit Resource Management (using)

JavaScript 🔴 Senior

Definition

Proposition TC39 Stage 3+ avec le mot-cle using qui appelle automatiquement [Symbol.dispose]() a la sortie du scope. Equivalent du try-with-resources de Java ou using de C#.

Analogie

Un robinet auto-coupant : il se ferme tout seul quand tu quittes la piece, pas besoin de penser a le fermer.

Exemple de code

class FileHandle {
  [Symbol.dispose]() {
    console.log('File closed');
  }
}
{
  using file = new FileHandle();
  // utiliser file...
} // [Symbol.dispose]() appele automatiquement

Cas d'usage

Gestion de connexions DB, handles fichier, locks, tout ce qui necessite un cleanup garanti.

#core#avance#ES2024