Closure
A closure is a combination of a function bundled together (enclosed) with references to its surrounding state (the lexical environment).
In other words, a closure gives you access to an outer function’s scope from an inner function. In JavaScript, closures are created every time a function is created, at function creation time.
function add(num: number) {
return function(num2: number) {
return num + num2;
}
}
console.log(add(5)(5));
Closure: Define what variables are accessible inner functions or blocks of code.
function createTaxCalculator(tax) {
function calculateTax(amount) {
return amount * tax;
}
return calculateTax;
}
const calculateVatAmount = createTaxCalculator(0.19);
const calculateIncomeTaxAmount = createTaxCalculator(0.25);
console.log(calculateVatAmount(100));
console.log(calculateVatAmount(200));
Last updated
Was this helpful?