Замыкание - это концепция JavaScript, которую иногда сложно понять разработчикам JavaScript. Этот вопрос довольно часто задают в интервью, и люди на него не отвечают. Итак, в этой статье мы разберемся с этой концепцией. Замыкание - очень большая концепция, и я постараюсь объяснить ее кратко.

Замыкание - это концепция, которая не является эксклюзивной для JavaScript. Это концепция 1970-х годов, задолго до появления JavaScript. Вы можете поискать в Google более подробную информацию об истории закрытия.

Почему это важно?

Эта концепция сегодня важна в мире функционального программирования. Кроме того, JavaScript не является полностью объектно-ориентированным языком, хотя ES-6 попытался преодолеть разрыв между двумя.
Так что, если вы хотите скрыть свои переменные от глобальной области видимости из-за закрытия конфиденциальности данных, это очень хорошая концепция для тем же.

ПРИМЕЧАНИЕ

Прежде чем углубиться в концепцию, позвольте мне сказать вам, что все в JavaScript, такие как функции, классы, являются переменными.

Итак, у нас есть функция external, которая также состоит из внутренней функции. Функция inner обращается к переменной из внешней области видимости. Теперь внутренняя функция, объявленная внутри внешней функции, известна как Закрытие.

Теперь мы возвращаем внутреннюю функцию как параметр из внешней функции.

Теперь это действительно важно.

  1. Когда функция external вызывается в первый раз, она возвращает внутреннюю функцию, а значение сохраняется в переменной x.
  2. Как правило, как только возвращается возвращаемое значение, все остальные элементы в этой функции становятся неактуальными. Сборщик мусора собирает эти значения. Проще говоря, сборщик мусора должен собирать значение a = 10, и мы не можем использовать его в будущем.
  3. Но в случае закрытия этого не происходит. Функция закрытия (в данном случае внутренняя функция) по-прежнему сможет получить доступ к значению a.

4. Мы видим, что можем получить доступ к значению a и распечатать значение a + b.

Итак, это концепция закрытия. Вскоре я объясню эту концепцию более подробно.

Я НАДЕЮСЬ, РЕБЯТАМ, НРАВИТСЯ ЭТА СТАТЬЯ. ПОЖАЛУЙСТА, ПОДПИШИТЕСЬ НА БОЛЬШЕ УДИВИТЕЛЬНЫХ СТАТЕЙ И ПОЖАЛУЙСТА, ДАЙТЕ ОТВЕТ, ЕСЛИ ВЫ НАШЛИ ДАННУЮ СТАТЬЮ ИНФОРМАЦИОННОЙ.