1
地圖和WeakMap之間的主要區別(我認爲)認爲:最近更改了Map的垃圾回收嗎?
如果我們存儲的對象地圖,然後在其他地方後該對象不參照,該對象將仍然沒有包含在垃圾收集過程中,我們仍然可以在Map中訪問它。
但是,如果它存儲在WeakMap然後稍後那個對象沒有被引用到代碼中的其他地方,那麼它將被垃圾收集。
現在看看這個例子中,我得到它的輸出看起來即使在地圖對象不具有參考不再別的地方現在被垃圾收集:
const userRoles = new Map();
let Corey = { name: "Corey", age: "40" };
userRoles.set(Corey, "Admin");
Corey = null;
console.log(userRoles.get(Corey)); // Undefined ??
有規範因爲我看不到關於MDN的某種陳述或者我誤解了某些東西?
什麼是預期的結果? – guest271314