April 2018
Beginner
536 pages
13h 21m
English
Closures are one of the most powerful features available at runtime, but they are also one of the most misunderstood. The Mozilla developer network defines closures as follows:
We understand independent (free) variables as variables that persist beyond the lexical scope from which they were created. Let's look at an example:
function makeArmy() { const shooters = []; for (let i = 0; i < 10; i++) { const shooter = () => { // a shooter is a function console.log(i); // which should display it's number }; shooters.push(shooter); } return shooters; }