CodeBlanks Logo Icon CodeBlanks

Özet - Fonksiyonel programlama

JavaScript kursu · İleri seviye · Ders 59/100

compose ve curry kullanarak bir fiyat hesaplama zinciri yazarsın.

Özet - Fonksiyonel programlama

Bu grupta dört temel kavram öğrendin. Saf fonksiyonlar yan etki yapmaz ve aynı girdiye aynı çıktıyı verir. Immutability veriyi değiştirmek yerine kopyalar. Kompozisyon küçük fonksiyonları birleştirir. Currying argümanları sırayla bağlar.

Bu dördü bir araya gelince okunması kolay, test edilebilir ve yeniden kullanılabilir kod ortaya çıkar. Şimdi hepsini bir fiyat hesaplama zincirinde birleştireceğiz.

Uygulama Fiyat hesaplama zinciri kur

Fiyat hesaplama zinciri kur. Önce addTax adında saf bir ok fonksiyonu yaz: price => price * 1.2. Sonra compose adında bir yardımcı tanımla: (f, g) => x => f(g(x)). double adında bir fonksiyon yaz: x => x * 2. Sonra const total = compose(addTax, double); ve console.log(total(100)); çağrısı yap.

Örnek çözümü göster
const addTax = price => price * 1.2;
const compose = (f, g) => x => f(g(x));
const double = x => x * 2;
const total = compose(addTax, double);
console.log(total(100));

Kendini test et

  1. Fonksiyonel kavramları eşleştir

    saf fonksiyon
    yan etki yok
    immutability
    kopyala, değiştirme
    compose
    f(g(x))
    curry
    argüman sırayla
  2. Hangisi fonksiyonel stildedir?

    • prices.map(p => p * 1.2)
    • user.age = 30;
    • prices.push(100);
    • for (let i = 0; i < arr.length; i++) { arr[i]++; }
    Cevabı göster

    prices.map(p => p * 1.2) — Doğru! map yeni dizi döndürür, orijinali değiştirmez; fonksiyonel stil budur.

  3. Zincirin son çağrısını tamamla

    const addTax = price => price * 1.2;
    const result = addTax(____);
    Cevabı göster
    const addTax = price => price * 1.2;
    const result = addTax(100);

İleri seviye bölümündeki tüm dersler