Замыкание - это концепция JavaScript, которую иногда сложно понять разработчикам JavaScript. Этот вопрос довольно часто задают в интервью, и люди на него не отвечают. Итак, в этой статье мы разберемся с этой концепцией. Замыкание - очень большая концепция, и я постараюсь объяснить ее кратко.
Замыкание - это концепция, которая не является эксклюзивной для JavaScript. Это концепция 1970-х годов, задолго до появления JavaScript. Вы можете поискать в Google более подробную информацию об истории закрытия.
Почему это важно?
Эта концепция сегодня важна в мире функционального программирования. Кроме того, JavaScript не является полностью объектно-ориентированным языком, хотя ES-6 попытался преодолеть разрыв между двумя.
Так что, если вы хотите скрыть свои переменные от глобальной области видимости из-за закрытия конфиденциальности данных, это очень хорошая концепция для тем же.
ПРИМЕЧАНИЕ
Прежде чем углубиться в концепцию, позвольте мне сказать вам, что все в JavaScript, такие как функции, классы, являются переменными.
Итак, у нас есть функция external, которая также состоит из внутренней функции. Функция inner обращается к переменной из внешней области видимости. Теперь внутренняя функция, объявленная внутри внешней функции, известна как Закрытие.
Теперь мы возвращаем внутреннюю функцию как параметр из внешней функции.
Теперь это действительно важно.
- Когда функция external вызывается в первый раз, она возвращает внутреннюю функцию, а значение сохраняется в переменной x.
- Как правило, как только возвращается возвращаемое значение, все остальные элементы в этой функции становятся неактуальными. Сборщик мусора собирает эти значения. Проще говоря, сборщик мусора должен собирать значение a = 10, и мы не можем использовать его в будущем.
- Но в случае закрытия этого не происходит. Функция закрытия (в данном случае внутренняя функция) по-прежнему сможет получить доступ к значению a.
4. Мы видим, что можем получить доступ к значению a и распечатать значение a + b.
Итак, это концепция закрытия. Вскоре я объясню эту концепцию более подробно.
Я НАДЕЮСЬ, РЕБЯТАМ, НРАВИТСЯ ЭТА СТАТЬЯ. ПОЖАЛУЙСТА, ПОДПИШИТЕСЬ НА БОЛЬШЕ УДИВИТЕЛЬНЫХ СТАТЕЙ И ПОЖАЛУЙСТА, ДАЙТЕ ОТВЕТ, ЕСЛИ ВЫ НАШЛИ ДАННУЮ СТАТЬЮ ИНФОРМАЦИОННОЙ.