EMZETT.
Увійти

Замикання (closure)

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

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

Подробиці

def counter():
    state = 0

Див. також: лямбда-вираз, функція вищого порядку, зворотний виклик, інкапсуляція