1
JavaScriptBeginner#types
Common causes are forgotten timers and event listeners, references held in global variables or module caches, detached DOM nodes still referenced by JS, and closures capturing large objects.
const id = setInterval(tick, 1000);
// leak unless cleaned up
clearInterval(id);
el.removeEventListener('click', handler);