Sobes.tech
Junior — Middle

Leg uit wat het betekent om variabelen vast te leggen binnen een closure-functie

sobes.tech AI

Antwoord van AI

Het vastleggen van variabelen binnen een closure betekent dat de closure "herinnert" en variabelen uit de omringende context waarin het is gemaakt, kan gebruiken.

Bijvoorbeeld, als binnen een functie een variabele wordt gedeclareerd en vervolgens een functie wordt geretourneerd die deze variabele gebruikt, wordt deze variabele "vastgelegd" door de closure en behoudt deze zijn waarde, zelfs na het verlaten van de externe functie.

Voorbeeld in Swift:

func makeIncrementer(amount: Int) -> () -> Int {
    var total = 0
    return {
        total += amount
        return total
    }
}

let incrementByTen = makeIncrementer(amount: 10)
print(incrementByTen()) // 10
print(incrementByTen()) // 20

Hier vastlegt de closure de variabelen total en amount, en behoudt hun toestand tussen de aanroepen. Dit maakt het mogelijk om functies met interne toestand te creëren.