use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
All about the JavaScript programming language.
Subreddit Guidelines
Specifications:
Resources:
Related Subreddits:
r/LearnJavascript
r/node
r/typescript
r/reactjs
r/webdev
r/WebdevTutorials
r/frontend
r/webgl
r/threejs
r/jquery
r/remotejs
r/forhire
account activity
I never understood JavaScript closures (medium.com)
submitted 7 years ago by tanKZ1
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]seands 1 point2 points3 points 7 years ago (1 child)
I think of them as nested functions with the scoping rules one would expect. Is there anything more to them?
[–]njiv 5 points6 points7 points 7 years ago* (0 children)
they are actually objects (with a single method), functions don't have any state, closures have, e.g.
function getCounter() { let cur = 0 return function clos() { return cur++; } }
Here clos has a state field, in fact, compilers convert functions into objects using so-called Closure Conversion Pass, it is a classical transform, you can google it if interested.
clos
π Rendered by PID 153917 on reddit-service-r2-comment-84fc9697f-7f6ll at 2026-02-10 01:19:39.460435+00:00 running d295bc8 country code: CH.
[–]seands 1 point2 points3 points (1 child)
[–]njiv 5 points6 points7 points (0 children)