Za: https://youtu.be/GbVAMgU3Jj0?t=484 (8:04) Associate JavaScript object with DOM node, without modifying node (like jQuery.data())
var map = new Map();
var elem = document.getElementById('foo');
map.set(elem, {a: 'hello', b: 42});
elem = document.querySelector('#foo');
console.log(map.get(elem.b)); // 42
//possible memory leak!
map.size //1
document.querySelector('#foo').remove();
map.size //1
// aby temu zaradzić trzeba użyć weakMap.
// weakMap cannot be reproduces in ES6!