ikeji (ikeji@ostatus.ikeji.ma)'s status on Tuesday, 29-Aug-2023 00:18:18 JST
-
ikeji (ikeji@ostatus.ikeji.ma)'s status on Tuesday, 29-Aug-2023 00:18:18 JST ikeji @tadd いや、GCの方>いけじが昔「リーク」と書いたのは、isConnectedの方でGCじゃない、であってるかな。
```
var a = {};
var b = {};
a.b = b;
b.a = a;
a = null;
b = null;
```
は、JavaScriptはaもbもGCできる。
しかし、aかbがDOM elementだったら、GCできなくなる。
DOM側は、イベントハンドラに設定されてるJSのオブジェクトがGCされると困るので、イベントハンドラをGCのルートに指定する(ピンする)。
JavaScriptは、イベントハンドラから参照されてるDOM ElementがGCされると困るので、DOM側のGCのルートに指定する(ピンする)。
と、どっちのGCもルートに指定されてるaやbをGCできなくなる。
(ピンするはC#で使われてた用語だった。GCのルートに指定するが正しい?)