# Understanding Closures in JavaScript

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.