🪟 Windows TippsThe Gemini desktop app is now available for Windows(11.09.2026 um 17:06 Uhr)
🪟 Windows TippsHeader and Footer not showing in Excel(14.09.2026 um 22:43 Uhr)
🕵️ SicherheitslückenBurn Out, Or Fade Away(14.09.2026 um 14:25 Uhr)
🪟 Windows TippsKB5129194 Windows 11 26H1 Out of Band Update - Deskmodder.de(14.09.2026 um 19:25 Uhr)
🪟 Windows TippsThe Gemini desktop app is now available for Windows(11.09.2026 um 17:06 Uhr)
🪟 Windows TippsHeader and Footer not showing in Excel(14.09.2026 um 22:43 Uhr)
🕵️ SicherheitslückenBurn Out, Or Fade Away(14.09.2026 um 14:25 Uhr)
🪟 Windows TippsKB5129194 Windows 11 26H1 Out of Band Update - Deskmodder.de(14.09.2026 um 19:25 Uhr)

🔧 Programmierung 🕛 vor 1 Jahr 3 Min Lesezeit
0

Understanding JavaScript Closures: A Comprehensive Guide

↗ Quelle (dev.to)
🗣️ Stimme:
📑 Inhaltsübersicht




Understanding JavaScript Closures: A Comprehensive Guide.






What is a Closure?



A closure is a fundamental JavaScript concept where an inner function has access to variables and parameters of its outer (enclosing) function, even after the outer function has finished executing. In simpler terms, a closure allows a function to "remember" and access variables from its outer scope even when the function is executed in a different scope.






The Three Scopes of a Closure



Every closure in JavaScript has access to three scopes:




  • Its own scope (variables defined inside the function)

  • Outer function's variables (variables from its parent function)

  • Global variables (variables available throughout the application)






Lexical Scoping: The Foundation



Let's understand lexical scoping with a basic example:




CODE
function init() {
var name = "Mozilla"; // local variable created by init
function displayName() {
// inner function
console.log(name); // uses variable declared in parent function
}
displayName();
}
init();






In this example:




  • The init() function creates a local variable name and an inner function displayName()

  • displayName() is an inner function that only exists within init()

  • displayName() has no local variables of its own

  • Because of lexical scoping, it has access to variables in its parent scope, including name






Understanding Closures in Action



Let's look at a slightly modified version that demonstrates closure:




CODE
function makeFunc() {
const name = "Mozilla";
function displayName() {
console.log(name);
}
return displayName;
}

const myFunc = makeFunc();
myFunc();






Key points to understand:




  • This looks similar to the previous example, but there's a crucial difference

  • Instead of executing the inner function immediately, we're returning it

  • Even though makeFunc() has finished executing, myFunc still has access to the name variable

  • This is possible because the function maintains a reference to its lexical environment






Practical Example: Function Factory



Here's a more practical example that demonstrates the power of closures:




CODE
function makeAdder(x) {
return function(y) {
return x + y;
};
}

const add5 = makeAdder(5);
const add10 = makeAdder(10);

console.log(add5(2)); // outputs 7
console.log(add10(2)); // outputs 12






Let's break down what's happening:




  • makeAdder is a function factory - it creates customized functions

  • Each function it creates remembers the value of x that was passed to makeAdder

  • add5 and add10 are both closures:




They share the same function definition

But they have different lexical environments

In add5's environment, x is 5

In add10's environment, x is 10







Why Closures Matter



Closures are powerful because they allow:




  1. Data privacy: Variables inside the closure remain private and can't be accessed from outside

  2. State preservation: They can maintain state between function calls

  3. Function factories: You can create specialized functions with pre-set parameters

  4. Module patterns: They're fundamental to the module pattern in JavaScript






Conclusion



Understanding closures is crucial for JavaScript developers as they're used extensively in modern JavaScript patterns, frameworks, and libraries. They provide a way to create private variables and maintain state in functional programming while keeping your code clean and maintainable.



Remember: A closure is not just a function inside another function - it's a function that has access to variables in its outer scope and maintains that access even after the outer function has finished executing.

Vollständiger Original-Bericht
Ausführliche Details, Code-Beispiele & Hersteller-Stellungnahme auf dev.to.
↗ Original-Artikel auf dev.to lesen
Wie bewertest du diesen Beitrag?
1 Klick Feedback
Teilen mit Netzwerk & Team:

Community-Analysen & Experten-Meinungen 0

Verfasse deine eigene Analyse, teile Workarounds oder diskutiere diesen Vorfall im Blog.
Noch keine Community-Analyse verfasst. Markiere einen Textabschnitt oder klicke oben auf Eigene Analyse verfassen“!
Community Pulse: Relevanz-Einschätzung
1 Klick Experten-Votum
🔴 Akute Relevanz 0%
🟡 In Evaluierung 0%
🟢 Keine Auswirkung 0%
Spannende Innovation 0%
Verwandte Story-Cluster & Quellen (Vektor-KI)
Port 8095 Engine
1 Quelle
The Gemini desktop app is now available for Windows
1 Quelle
Header and Footer not showing in Excel
1 Quelle
Burn Out, Or Fade Away
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Understanding JavaScript Closures: A Comprehensive Guide

Thematisch verwandte Begriffe: Understanding, JavaScript, Closures, Comprehensive · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...