Özet - Fonksiyonel programlama
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
-
Fonksiyonel kavramları eşleştir
- saf fonksiyon
- yan etki yok
- immutability
- kopyala, değiştirme
- compose
- f(g(x))
- curry
- argüman sırayla
-
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.
-
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);