JSFiddle - React, Tailwind, and code Playground
by Artem
HTML
<div id="obj1_el">obj1</div>
<div id="obj2_el">obj2</div>
JavaScript
'use strict';
let obj1 = {
name: 'Artem',
el: obj1_el
};
let obj2 = {
name: 'Max',
el: obj2_el
};
function sayHi() {
console.log(this);
}
let map = new WeakMap();
map.set(obj1, sayHi);
map.set(obj2, sayHi);
obj1 = null;
try {
obj1.el.addEventListener('click', map.get(obj1));
obj2.el.addEventListener('click', map.get(obj2));
} catch (e) {
console.log('there is no such element any more...');
}
console.log(map.get(obj1));
console.log(map.has(obj2));