Выбор ответа Junior Области видимости и замыкания спрашивают часто обновлено

Что такое замыкание

Вопрос

Какое определение замыкания верное?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Функция вместе с окружением, где создана: его переменные ей видны и потом. Замыкание это связка функции и ссылки на окружение, где она создана.

Варианты ответа

  1. Функция, которая вызывает сама себя до выполнения базового условия
  2. Функция вместе с окружением, где создана: его переменные ей видны и потомправильный ответ
  3. Функция, объявленная внутри другой функции и вызванная там же сразу
  4. Копия значений внешних переменных, которую функция сохраняет при создании

Разбор

Замыкание это связка функции и ссылки на окружение, где она создана. Поэтому функция, возвращённая из другой функции, продолжает читать и менять её переменные. Функция, вызывающая сама себя, это рекурсия. Вложенность сама по себе замыкание не описывает: суть в том, что окружение переживает вызов внешней функции. И это не копия значений: замыкание хранит ссылку на переменные и видит их последующие изменения.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.