You might have heard the term "closure" tossed around in JavaScript conversations and tutorials, but what the hell is it really?
What is...
For further actions, you may consider blocking this person and/or reporting abuse
This isn't correct. A closure is not a function, and ALL functions form closures with their surrounding scope, there isn't a special type of function that does this.
Misconceptions About Closures
Jon Randy ποΈ γ» Sep 27 '23
The diagram in your article is very good. Function + surrounding state
A closure is a function that remembers the variables from the place where it was defined is a simpler way of saying that IMO which can be understood by everyone
Not really...
If that definition were correct, there would be no point having separate words for closure and function, since every function has access to its surrounding scope in this way.
Remembers is the keyword here
Every function has access but not every function remembers
They do. All functions are the same in this respect.
From MDN:
Every function has an associated closure, remembering the lexical environment in which it was created.
No, they donβt. They access the variables again which are in their lexical scope. In Closure, they store the variables and their values. Which is what your diagram signifies - function + state
To check this - just define a global variable console log in a function change the value and try again. New value will be printed meaning it doesnβt remember it accesses.