Закрытия:
Замыкание — это комбинация функции, связанной вместе (заключенной) относительно ее окружающего состояния. Другими словами, замыкание дает вам доступ к области действия внешней функции из внутренней функции. В javascript замыкания создаются каждый раз, когда функция создается во время создания функции.
Пример:
// Closures const secureBooking = function () { let passengerCount = 0; return function () { passengerCount++; console.log(`${passengerCount} passengers`); }; }; const booker = secureBooking(); booker(); booker(); booker();
В приведенном выше примере функция secureBooking имеет начальное количество пассажиров, равное 0, затем она возвращает функцию, которая увеличивает количество пассажиров на 1 при каждом вызове функции, а затем secureBooking функция хранится в функции booker.
После первого вызова функции booker на выходе будет 1 пассажир, если она будет вызвана во второй раз, на выходе будет 2 пассажирато естьпосле вызова функции booker переменная passenger сохраняется в функции booker, а функция приращения также вызывается путем вызова функции функция бронирования. Проще говоря, функция booker хранит переменную и функцию из secureBooking.
Спасибо!!!
Хорошего дня!!!