cachaito
12/1/2016 - 10:58 AM

ES6 .Map() and .weakMap()

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!