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

Обязательно ли должно быть две функции для замыкания

Нет, замыкание может быть создано и с одной функцией. Замыкание — это функция, которая запоминает внешние переменные, даже если они вышли из области видимости.

Пример с одной функцией:

javascript
function createCounter() {
  let count = 0;
  return function() {
    return ++count;
  };
}

const counter = createCounter();
console.log(counter()); // 1
console.log(counter()); // 2

text

Здесь `createCounter` возвращает функцию, которая "замыкает" переменную `count`. Хотя внешняя функция завершила работу, внутренняя продолжает использовать её переменные.  

Замыкание может быть и без возврата функции, если функция просто использует внешние переменные:  
```javascript
let message = "Hello";
function say() {
  console.log(message);
}
say(); // "Hello"

Но классический пример замыкания — это вложенные функции, где внутренняя сохраняет доступ к переменным внешней.

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

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

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

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