Practical usage of JavaScript closure
There is a very common question about JavaScript closure that I understand the concept of JavaScript closure but what are the practical usages of this?
I completely get this part that I have access to the variables/functions defined in its parent scope but when do we need this?
Why we need closure in JavaScript?
Closure in a Language is a powerful feature. In ECMAScript, the functions are considered as a first-class object.
This means a function can be passed as a parameter to a function and a function can be returned from a function.
When a function is passed to a function or returned from a function both the cases we get into scope issues (functional arguments issue). To solve this issue the closure is introduced in JavaScript.
Following are some good usage of JavaScript closure:
- Accessing private variables and methods
- Closure can be used to do module design pattern
- Closures can be used in functional template
- Closures can be used in functional JavaScript