Nazar Ginailo
Привет, может кто подсказатть почему мы именно должны возвращать функцию?
function makeCounter() {
var currentCount = 1;
return function() {
return currentCount++;
};
при каждом вызове функции выделяется память, а после ее завершения память очищается автоматически сборщиком мусора, но так происходит если функция возвращает примитив, но если у одного обьекта (функция которую ты вызываешь) есть ссылка на другой обьект (может быть и функция), то зборщик игнорирует выгрузку из памяти. зачем возвращаем функцию - потому что изменение/мутирование переменных происходит в наружу и только в одну сторону