ECMAScript 6 では弱いマップが導入されています。これは Node.JS v0.11.3 でフラグ付きで実装されています--harmony
。
次のコードを考えてみましょう。
var weakMap = WeakMap();
var temp = {};
weakMap.set(temp, 'Save me!');
temp = {};
最後の行が実行されると、文字列'Save me!'
はガベージ コレクションの準備が整います。文字列に、現在のスコープから文字列につながる強い参照のチェーンがなくなったことをコードで実証できますか?
size
弱いマップには反復やマップに似たプロパティがないことを知っています。特定のオブジェクトが弱いマップからアクセスできなくなったことを事後的に知る方法がないということですか?