Sobes.tech
Back to questions
Junior — Middle
100

Какова роль замыканий (closures) в JavaScript и для чего они применяются?

Answer from AI

sobes.tech 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 из внешней функции, создавая замыкание.