0
WeakMap在JavaScript中的正確用法是什麼?我使用它時可能會發生什麼樣的時間問題?特別是,我想知道在以下情況會發生什麼:使用EcmaScript中的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鍵,如果我考慮到,其實我的問題不作。
謝謝!如果map key是一個字符串呢? – vmg
@VitaliyGanzha:這就是爲什麼你不能在弱集合中使用字符串作爲鍵的原因:-) – Bergi