Вы все, должно быть, постоянно слышали об этом термине в интервью, практически везде на веб-сайтах diff js. Давайте обсудим это сегодня
- Что такое закрытие?
Проще говоря, если мне придется объяснять это кому-либо, я скажу, что когда мы хотим использовать что-то локальное в качестве глобального, мы используем замыкания.
Все мы знаем, что если мы определяем переменную внутри функции, мы не можем использовать ее внутри другой функции. Верно?
А вот и замыкание, с его помощью мы можем использовать определение переменной внутри одной функции в другой функции. Возьмем пример.
В приведенном выше примере мы пишем простую функцию суммирования, а взамен возвращаем другую функцию. Попробуйте написать, как вы сделаете этот пример без закрытия, и попытайтесь определить плюсы и минусы обоих.
Теперь то, что происходит, является примером:
Когда мы видим функцию sum , переменная a функции sum и функция add находятся в одной и той же области действия функции sum, из-за которой позже функция add обращается к переменной a.
Вы можете вызывать a() любое количество раз, передавая разные значения, попробуйте проверить вывод.
- Основные способы использования замыканий:
Реализация концепции каррирования
Для защищенного частного поведения OOPS
Удачи писать и пробовать разные примеры с использованием замыкания.
Надеюсь, это поможет вам !!!