Перейти к основному содержимому
Об авторе
Проекты
Знания
Знания/JavaScript/using-dispose

Что такое `using` и `Symbol.dispose` (Explicit Resource Management)?

УглублённыйОбработка ошибокПеременные и типы данныхМодули

ES2024 proposal (Stage 3+) — детерминированное управление ресурсами (аналог try-with-resources в Java, using в C#).

using — объявление переменной, ресурс которой автоматически освобождается при выходе из блока:

{
    using file = openFile('data.txt');
    // работа с файлом
} // file[Symbol.dispose]() вызывается автоматически
  • Symbol.dispose — синхронный cleanup, Symbol.asyncDispose — асинхронный (с await using)
  • DisposableStack / AsyncDisposableStack — контейнер для группировки ресурсов
  • Главная
  • Об авторе
  • Проекты
  • Знания
Логотип nKolmykov