# Understanding JavaScript Closures Through Call Stack, Heap Memory & `[[Scopes]]`
Closures aren't magic—they're simply JavaScript's way of keeping data alive when a function still...
Opening excerpt (first ~120 words) tap to expand
try { if(localStorage) { let currentUser = localStorage.getItem('current_user'); if (currentUser) { currentUser = JSON.parse(currentUser); if (currentUser.id === 3943940) { document.getElementById('article-show-container').classList.add('current-user-is-article-author'); } } } } catch (e) { console.error(e); } Gaurav Singh Posted on Jun 26 # Understanding JavaScript Closures Through Call Stack, Heap Memory & `[[Scopes]]` #javascript #closure #callstack #heapmemory Closures aren't magic—they're simply JavaScript's way of keeping data alive when a function still needs it. Every JavaScript developer has heard statements like: "A closure is a function that remembers variables from its outer scope." "The inner function closes over variables." "Closures preserve the lexical environment." But...
…
Excerpt limited to ~120 words for fair-use compliance. The full article is at DEV.to (Top).