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

Как понять когда в коде должно быть замыкание

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

  1. Сохранение состояния:
javascript
function createCounter() {
  let count = 0;
  return function() {
    return ++count;
  };
}
const counter = createCounter();
counter(); // 1
counter(); // 2
  1. Приватные переменные:
javascript
function createUser(name) {
  let privateName = name;
  return {
    getName: () => privateName,
    setName: (newName) => { privateName = newName; }
  };
}
  1. Функции с памятью:
javascript
function memoize(fn) {
  const cache = {};
  return (arg) => cache[arg] || (cache[arg] = fn(arg));
}

Замыкание создаётся, когда функция запоминает своё лексическое окружение, даже если выполняется вне своей области видимости.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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