function Counter(){
let count = 0;
return function(){
count++;
return count;
}
}
const counter = Counter();
const counter2 = Counter();
console.log(counter());
console.log(counter());
console.log(counter2());
console.log(counter2());
const counter = Counter();
//тут counter будет равен
function(){
count++;
return count;
}
// переменная count будет доступна из этой функции,
// но она не равна переменной из const counter2 = Counter()
// у counter и couner2 разные области видимости (контекст)
// т.к. у каждой из них свой стек вызовов