This feature is not Baseline because it does not work in some of the most widely-used browsers.
The [Symbol.dispose]() method of DisposableStack instances implements the disposable protocol and allows it to be disposed when used with using or await using. It is an alias for the dispose() method.
disposableStack[Symbol.dispose]()
None.
None (undefined).
using
The Symbol.dispose method is intended to be automatically called in a using declaration.
{
using disposer = new DisposableStack();
const resource = disposer.use(new Resource());
resource.doSomething();
// stack is disposed here immediately before the function exits
// which causes the resource to be disposed
}
| Desktop | Mobile | Server | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
Symbol.dispose |
134 | 134 | 141 | 119 | No | 134 | 141 | 88 | No | 29.0 | 134 | No | 1.3.0 | 2.2.10 | 24.0.0 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DisposableStack/Symbol.dispose