Замыкания

Концепции JavaScript

WebbDEV
Published in
2 min readJul 23, 2019

--

Замыкание — это важный паттерн проектирования в JavaScript, который позволяет организовать защищённую работу с переменными. В следующем примере функция createGreeter() возвращает анонимную функцию, у которой есть доступ к предоставленному исходной функции аргументу greeting, содержащему строку Hello. Ссылка на эту анонимную функцию записывается в переменную sayHello. После этого, сколько раз бы мы ни вызывали функцию sayHello(), у неё всегда будет доступ к значению greeting. При этом доступ к greeting будет только у анонимной функции, ссылка на которую записана в sayHello.

Это был очень простой пример. Если же рассмотреть нечто, более близкое к реальному миру, то можно представить себе, например, функцию для подключения к некоему API (назовём её apiConnect()), которой, при первом её вызове, передаётся ключ доступа к API. Эта функция, в свою очередь, возвращает объект, содержащий несколько методов, которые пользуются переданным apiConnect()ключом доступа к API. При этом ключ хранится в замыкании и при вызове этих методов упоминать его больше не требуется.

Подробнее про замыкания можно почитать в нашей статье Замыкания в JavaScript для начинающих.

--

--