Встречается на собеседованиях • сегодня

Какие задачи решаются с помощью замыкания

Замыкания позволяют сохранять состояние между вызовами функций и создавать приватные переменные. Основные применения:

  1. Инкапсуляция данных - скрытие переменных от внешнего доступа:
javascript
function createCounter() {
  let count = 0;
  return function() {
    return ++count;
  };
}
const counter = createCounter();
counter(); // 1
counter(); // 2
  1. Создание функций с памятью - запоминание контекста:
javascript
function greet(name) {
  return function() {
    console.log(`Hello, ${name}!`);
  };
}
const greetJohn = greet('John');
greetJohn(); // "Hello, John!"
  1. Реализация каррирования - поэтапное применение аргументов:
javascript
const multiply = (a) => (b) => a * b;
const double = multiply(2);
double(5); // 10
  1. Работа с асинхронным кодом - сохранение значений в колбэках:
javascript
for (var i = 0; i < 5; i++) {
  (function(j) {
    setTimeout(() => console.log(j), 1000);
  })(i);
}
// Выведет 0,1,2,3,4
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы