I've just learned about WeakSet, that it stores only references to real objects so after removing the object, it is available no longer using that WeakSet.
I've checked it and it doesn't work! Example for Chrome ver. 63. running from the console:
let obj = {'is':1}
let ws = new WeakSet([obj])
obj = null
console.log(ws) // still ws has old obj inside
https://i.gyazo.com/96a770e08c6dd57f362756f0581e8a77.png
What have I misunderstood?