# Understanding Closures in JavaScript

1 min read
javascript code

Closures are a fundamental concept in JavaScript that allow functions to access variables from their outer scope. Here’s an example:

function outerFunction(outerVariable) {
return function innerFunction(innerVariable) {
console.log(`Outer Variable: ${outerVariable}`)
console.log(`Inner Variable: ${innerVariable}`)
}
}
const newFunction = outerFunction('outside')
newFunction('inside')

Closures are particularly useful for creating private variables and functions. For example:

function Counter() {
let count = 0
return {
increment: () => count++,
getCount: () => count,
}
}
const counter = Counter()
counter.increment()
console.log(counter.getCount()) // 1

Closures are a powerful tool in JavaScript, enabling encapsulation and modularity.


Comments