DEV Community

# Understanding JavaScript Closures Through Call Stack, Heap Memory & `[[Scopes]]` (opens in new tab)

Discussed on DEV

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... How does a function actually remember variables? Where are those variables stored after the outer function finishes? Why doesn't JavaScript delete them? Let's go beyo...

Read the original article
Sign in to keep reading the full article.

Keyboard Shortcuts

Navigation

Next / previous post
j/k
Open post
oorEnter
Preview post
v

Post Actions

Love post
a
Like post
l
Dislike post
d
Undo reaction
u
Save / unsave
s

Recommendations

Add interest / feed
Enter
Not interested
x

Go to

Home
gh
Interests
gi
Feeds
gf
Likes
gl
History
gy
Changelog
gc
Settings
gs
Discover
gb
Search
/

General

Show this help
?
Submit feedback
!
Close modal / unfocus
Esc

Press ? anytime to show this help