Skip to content
Miraat·dweb developer journey, reflected

Closures and Scope in JavaScript

Understand why a function "remembers" the variables where it was created, even after that context is gone.

Core 25 minutes Prerequisites: JavaScript Syntax Essentials

What a closure is

A closure is a function that keeps access to the lexical scope where it was created, even when called elsewhere.

function counter() {
  let n = 0;
  return function () {
    return ++n;
  };
}

const inc = counter();
inc(); // 1
inc(); // 2

The inner function remembers n even after counter() is done.

Where you meet them

  • Module pattern (private state).
  • Callbacks with captured data.
  • React hooks (useState uses closure).

Recommended resources