JavaScript
Wat zijn closures?
Closures zijn functies die toegang hebben tot variables van hun parent scope.
Closure gedrag
Functie binnenin functie Inner functie kan outer variables gebruiken Outer variables blijven 'alive' zolang inner functie exists
Praktisch nut
Data privacy - variables zijn niet direct accessible Function factories - maak gecustomiseerde functies Callbacks - functie 'remembers' context
Code Voorbeelden
JAVASCRIPTClosure voorbeelden
// Simple closure
function makeCounter() {
let count = 0; // outer variable
return function() {
count++;
return count;
};
}
const counter = makeCounter();
console.log(counter()); // 1
console.log(counter()); // 2
console.log(counter()); // 3
// count is private! Niet direct accessible
// Data privacy pattern
function createBankAccount(initialBalance) {
let balance = initialBalance;
return {
deposit(amount) {
balance += amount;
return balance;
},
withdraw(amount) {
balance -= amount;
return balance;
},
getBalance() {
return balance;
}
};
}
const account = createBankAccount(1000);
account.deposit(500); // 1500
account.withdraw(200); // 1300
console.log(account.getBalance()); // 1300
// balance is private!Relevante trefwoorden
closurescopeprivacy