Junior — Middle
Каква е ролята на closures (замикванията) в JavaScript и за какво се използват?
sobes.tech AI
Отговор от AI
Затваряния (closures) в JavaScript са функции, които "запомнят" средата, в която са създадени, включително достъпа до променливи от външната функция, дори след като тя е приключила.
Ролята на затварянията:
- Позволяват създаването на частни променливи и методи, капсулирайки данните.
- Използват се за създаване на функции с запазено състояние.
- Помагат да се избегне замърсяване на глобалната област.
- Използват се във функционалното програмиране за създаване на функции с частично приложени аргументи.
Пример:
function makeCounter() {
let count = 0; // частна променлива
return function() {
count += 1;
return count;
};
}
const counter = makeCounter();
console.log(counter()); // 1
console.log(counter()); // 2
Тук вътрешната функция запазва достъпа до променливата count от външната функция, създавайки затваряне.