EMZETT.
Войти

Замыкание (closure)

Коротко: Замыкание — функция, которая «помнит» переменные своего окружения — даже когда внешняя функция давно завершилась.

Подробнее: Замыкания возникают, когда внутренняя функция обращается к переменным внешней и возвращается или передаётся дальше. Они — основа счётчиков, фабрик, обратных вызовов, частичного применения (каррирование) и паттерна «модуль» в JavaScript. Поддерживаются в JavaScript, Python, Java (лямбда-выражения), C#, Go, Kotlin, Swift, Rust, Haskell и многих других.

Подробности

def counter():
    state = 0

См. также: лямбда-выражение, функция высшего порядка, обратный вызов, инкапсуляция