Define closure.
Closure gives you access to an outer function’s scope from an inner function. In JavaScript, closures are created every time a function is created, at function creation time.
Also, they help you hide values from outside scope.
You can read more about them here.