Вы все, должно быть, постоянно слышали об этом термине в интервью, практически везде на веб-сайтах diff js. Давайте обсудим это сегодня

  • Что такое закрытие?

Проще говоря, если мне придется объяснять это кому-либо, я скажу, что когда мы хотим использовать что-то локальное в качестве глобального, мы используем замыкания.

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

А вот и замыкание, с его помощью мы можем использовать определение переменной внутри одной функции в другой функции. Возьмем пример.

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

Теперь то, что происходит, является примером:

Когда мы видим функцию sum , переменная a функции sum и функция add находятся в одной и той же области действия функции sum, из-за которой позже функция add обращается к переменной a.

Вы можете вызывать a() любое количество раз, передавая разные значения, попробуйте проверить вывод.

  • Основные способы использования замыканий:

Реализация концепции каррирования

Для защищенного частного поведения OOPS

Удачи писать и пробовать разные примеры с использованием замыкания.

Надеюсь, это поможет вам !!!