Skip to content

30 Days Of JavaScript: Closures

Twitter Follow Author: Asabeneh Yetayeh
January, 2020

<< Gün 18 | Gün 20 >>

Thirty Days Of JavaScript - Gün 19 - Closure - Egzersizler - Egzersiz: Seviye 1 - Egzersiz: Seviye 2 - Egzersiz: Seviye 3

Gün 19

Closure

JavaScript, bir outer(dış) fonksiyonu içine yazma fonksiyonu izni verir. İstediğimiz kadar inner(iç) fonksiyon yazabiliriz. Inner fonksiyon, outer fonksiyonun değişkenlerine erişiyorsa, buna closure(kapatma) denir.

function outerFunction() {
    let count = 0;
    function innerFunction() {
        count++
        return count
    }

    return innerFunction
}
const innerFunc = outerFunction()

console.log(innerFunc())
console.log(innerFunc())
console.log(innerFunc())
1
2
3

Inner(iç) fonksiyonlara daha fazla örnek vermek gerekirse

function outerFunction() {
    let count = 0;
    function plusOne() {
        count++
        return count
    }
    function minusOne() {
        count--
        return count
    }

    return {
        plusOne:plusOne(),
        minusOne:minusOne()
    }
}
const innerFuncs = outerFunction()

console.log(innerFuncs.plusOne)
console.log(innerFuncs.minusOne)
1
0

🌕 İlerleme kaydediyorsun. Hızınızı koruyun, iyi işlere devam edin. Şimdi beyniniz ve kasınız için bazı egzersizler yapın.

Egzersizler

Egzersiz: Seviye 1

  1. Bir inner(iç) fonksiyonu olan closure yapısı oluşturun.

Egzersiz: Seviye 2

  1. Üç tane inner(iç) fonksiyonu olan closure yapısı oluşturun.

Egzersiz: Seviye 3

  1. Bir personAccount outer(dış) fonksiyonu oluşturun. Ad, soyad, gelir ve gider inner(iç) değişkenleridir. totalIncome, totalExpense, accountInfo,addIncome, addExpense ve accountBalance inner fonksiyonlara sahiptir.

🎉 TEBRİKLER ! 🎉

<< Gün 18 | Gün 20 >>