JSFiddle - React, Tailwind, and code Playground

by evgkch

JavaScript

let index = 0;

class Ex {
	constructor(){
  	this.id = index++;
  }
}

const list = [new Ex, new Ex, new Ex, new Ex];

const goodWeakMap = new WeakMap;
const badWeakMap = new WeakMap;

goodWeakMap.set(list[0], list[0].id);
goodWeakMap.set(list[1], list[1].id);
goodWeakMap.set(list[2], list[2].id);
goodWeakMap.set(list[3], list[3].id);

list.forEach(item=>{
	badWeakMap.set(item, item.id);
});

list.pop();

setInterval(()=>{
	console.log('goodWeakMap:', goodWeakMap);
  console.log('badWeakMap:', badWeakMap);
},2000);