Advanced 22 min readModule: Module 8: Closures, Lexical Scope & Private Variables
Closures, Lexical Scope & Private Variables
Master lexical scope, closure mechanics, function factories, and encapsulating private state.
What You Will Learn in This Lesson
- What a closure is and how it preserves its lexical scope chain
- Creating encapsulated private state without classes
- Memory lifecycle and avoiding closure memory leaks
Introduction & Core Concept
A closure is the combination of a function bundled together with references to its surrounding state.
WHY DOES THIS MATTER IN THE REAL WORLD?
Closures power React hooks (like useState), currying, and private state across modern JavaScript architectures.
Private Counter with Closure
javascriptjavascript
1234567891011121314function createAccount(initialBalance) {let balance = initialBalance; // Private encapsulated variablereturn {deposit(amount) {balance += amount;return `Balance: $${balance}`;},getBalance() { return balance; }};}const acc = createAccount(100);console.log(acc.deposit(50)); // $150console.log(acc.balance); // undefined (Private)
Line-by-Line Technical Breakdown
1Inner functions retain references to outer scope variables even after the outer function finishes.
Try It Yourself (Interactive Editor)
Modify the code in real-time and click Run to test live browser output and console logs.
Intelligent Code Runner & Live Sandbox[JAVASCRIPT]
JAVASCRIPT SOURCE EDITOR
Interactive Live CodeIndustry Best Practices & Professional Standards
- Use closures for private state encapsulation and memoization.
Lesson Summary & Core Takeaways
- Closures enable powerful state encapsulation in JavaScript.