1
地図とWeakMapの主な違い(私が思ったように)その:にマップのガベージコレクションが最近変更されましたか?
我々は 地図にオブジェクトを格納しているし、後でそのオブジェクトが他の場所でに参照されていない場合は、そのオブジェクトがしますまだガベージコレクションプロセスには含まれていないため、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