Skip to content

Latest commit

 

History

History
104 lines (78 loc) · 2.65 KB

19_day_closures.md

File metadata and controls

104 lines (78 loc) · 2.65 KB

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

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 >>