[[TypeScript 5.2]]で導入予定のキーワード。関数が[[スコープ (JavaScript)|スコープ]]を離れるときにリソースやイベントハンドラなどを破棄するよう定義できる。 [[Symbol.dispose]]という[[グローバルシンボル]]を利用する。 > [!caution] > 以下のコードは試しに書いてみたものの #2023/06/27 時点では[[🎮TypeScript Playground]]のNightlyでも[[Symbol.dispose]]が認識しなかった。 ```ts console.log("start main") { console.log("start scope") const getResource = () => { return { [Symbol.dispose]: () => { console.log('resourceがスコープから外れたらこれが実行される') } } } using resource = getResource(); console.log("end scope") } console.log("end main") ``` 実行結果。 ```console $ npm run dev start main start scope end scope resourceがスコープから外れたらこれが実行される end main ```