Mastering Private Variables: Understanding Closures in JavaScript

How Closures Empower You to Control Data Privacy in Your JavaScript Projects

Max N
3 min readMar 20, 2024

JavaScript, with its flexibility and power, offers developers numerous tools to manage data and maintain code integrity. One such tool is closures, a concept that might seem abstract at first but plays a crucial role in controlling variable access and ensuring data privacy within your applications.

What are Closures?

Before delving into private variables, let’s grasp the concept of closures. In JavaScript, closures are functions that retain access to variables from their containing scope even after the parent function has finished executing. This means that inner functions can access and manipulate variables declared in the outer function, even when the outer function has completed its execution.

Consider the following example:

function outerFunction() {
let outerVar = 'I am outer!';

function innerFunction() {
console.log(outerVar);
}

return innerFunction;
}

const inner = outerFunction();
inner(); // Output: I am outer!

Here, innerFunction retains access to outerVar, even though outerFunction has finished executing. This is the essence of closures.

--

--

Max N

A writer that writes about JavaScript and Python to beginners. If you find my articles helpful, feel free to follow.