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));