JavaScript WeakMap продолжает ссылаться на gc'ed объекты

Я испытываю слабые карты JavaScript, после того, как я попробовал этот код в консоли разработчика Google Chrome, запустив с параметром --js-flags = "- expose-gc", я не понимаю, почему у карты слабых карт есть ссылка на ab, если a gc'ed.

var a = {listener: function(){ console.log('A') }}
a.b = {listener: function(){ console.log('B') }}

var map = new WeakMap()

map.set(a.b, [])
map.set(a, [a.b.listener])

console.log(map) // has both a and a.b

gc()
console.log(map) // still have both a and a.b

a = undefined
gc()
console.log(map) // only have a.b: why does still have a reference to a.b? Should'nt be erased?

Ответы на вопрос(1)

Ваш ответ на вопрос