JavaScript での WeakMap の適切な使用法は何ですか? 使用時にどのようなタイミングの問題が発生する可能性がありますか? 特に、次のような状況ではどうなるのだろうと思っています。
var wm1 = new WeakMap()
var o1 = {},
o2 = function(){},
o3 = window;
// in other method:
wm1.set(o1, 37);
wm1.set(o2, "azerty");
if (wm1.has(o2)) {
//Garbage collection happen here, objects from wm1 may no longer exists
Console.log(wm1.get(o2)) // what will happen here? just undefined? null?
}
GC は WeakMaps にどのように影響しますか?
更新:悪いことに、WeakMap で文字列をキーとして使用できないという事実を見逃しました。その事実を考慮に入れると、私の質問はうまくいきません。