Замыкание в JS.
Чтобы понять, что такое замыкание, рассмотрим пример: function person() {let name = 'Peter'; return function displayName() { console.log(name); }; } let peter = person(); peter(); // 'Peter' Вызов функции peter() возвращает функцию displayName(). В свою очередь, функция displayName() имеет доступ к переменной name, которая расположена во внешней по отношению к ней функции. Таким образом, функция displayName() является замыканием. Итак, замыкание — это функция, которая запоминает и имеет доступ к лексическому окружению, в котором она была создана (контекст выполнения)...