Sobes.tech
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 от външната функция, създавайки затваряне.