12 Punkte von kuroneko 2023-06-20 | 1 Kommentare | Auf WhatsApp teilen
  • In TypeScript 5.2 wurde mit using ein neues Schlüsselwort hinzugefügt, mit dem sich Objekte beim Verlassen ihres Gültigkeitsbereichs explizit freigeben lassen.
  • Die Funktion ähnelt dem using, das es bereits in C# und anderen Sprachen gibt.
    • Wenn eine bestimmte Funktion ein Objekt zurückgibt, wird dieser Funktion über das Symbol Symbol.dispose zugewiesen.
    • Über using wird diese Funktion aufgerufen.
    • Wenn der Gültigkeitsbereich anschließend verlassen wird, wird die Funktion Symbol.dispose aufgerufen.
  • Grundlage ist der TC39-Vorschlag für explizites Ressourcenmanagement, der kürzlich Stage 3 erreicht hat.
  • Über Symbol.asyncDispose können asynchrone Funktionen zugewiesen werden, und mit await using lassen sich Objekte asynchron verwalten.
  • Kann in vielen Situationen eingesetzt werden, etwa bei DB-Verbindungen, Datei-Handles und mehr.

1 Kommentare

 
kuroneko 2023-06-20

Diese Funktion ist eigentlich keine TypeScript-Funktion, sondern fühlt sich eher wie eine Art Polyfill an, das auf einem für ECMAScript vorgeschlagenen Feature basiert.
Laut einem Vorschlag von TC39 soll sie künftig auch in JavaScript implementiert werden.

Ich erinnere mich noch, dass using in C# ziemlich praktisch war, daher begrüße ich das grundsätzlich,
aber am Ende gibt es auch einige Stimmen, die sagen, dass es doch letztlich dasselbe wie try ... finally ist.