0Pricing
TypeScript Academy · Ders

Fonksiyonları ve bağımsız değişkenleri güvenle birleştirme

Bağımsız değişken demetlerini ve dönüş türlerini koruyarak fonksiyonları birleştirin; tür güvenli kalan pipe/compose yardımcıları yazın.

Fonksiyonları ve bağımsız değişkenleri güvenle birleştirme, CoddyKit'te ücretsiz bir TypeScript Academy dersidir. Bu, 3 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, TypeScript Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. TypeScript Academy kursu toplamda 3 dersten oluşur.

Giriş

Amaç: Bağımsız değişken bilgilerini kaybetmeden işlevleri birleştirin. Değişken uzunluklu demetler, tam bağımsız değişken demetini pipe/birleştirme yardımcıları boyunca korumanızı sağlar.

  • Bağımsız değişken sayısını ve adlarını koruyun
  • Adımlar arasında çıkarımı sürdürün
  • any yok, dönüştürme yok

Temel birleştirme

Birleştirme: İlk işlev tüm bağımsız değişkenleri (...args: A) alır, ikinci işlev çıktısını tüketir; bağımsız değişken sayısı ve türler korunur.

function compose<A extends any[], B, C>(g: (b: B) => C, f: (...args: A) => B) {
  return (...args: A): C => g(f(...args))
}

function toLen(a: string, n: number) { return `${a}${n}`.length }
function isEven(x: number) { return x % 2 === 0 }

const c1 = compose(isEven, toLen)
const ok = c1("id", 99)   // boolean

pipe yardımcısı

pipe aynı fikri ters sırada uygular; çıkarım akışı daha sezgiseldir.

function pipe<A extends any[], B, C>(f: (...args: A) => B, g: (b: B) => C) {
  return (...args: A): C => g(f(...args))
}

const p1 = pipe(toLen, isEven)
const ok2 = p1("xx", 7) // boolean

3 veya daha fazla işlevi birleştirme

3 veya daha fazla işlevde aynı örüntü tekrarlanır; A demeti korunur ve ara dönüşler zincirlenir.

function compose3<A extends any[], B, C, D>(h: (c: C) => D, g: (b: B) => C, f: (...args: A) => B) {
  return (...args: A): D => h(g(f(...args)))
}

function toUpper(s: string) { return s.toUpperCase() }

const c3 = compose3(toUpper, (x: number) => x.toString(), toLen)
const val = c3("a", 5) // "2" → then upper → "2"

Baş kısmını bağlama

bindHead: Tam bağımsız değişkenleri önek olarak ekleyip sıfır bağımsız değişkenli bir işlev oluşturur; yalnızca tanıtım amaçlıdır (aslında Parameters ile daha esnek yapılabilir).

function bindHead<A extends any[], B>(fn: (...args: A) => B, ...head: A) {
  return (...rest: []): B => fn(...head)
}

const bh = bindHead(toLen, "x", 42)
const r = bh() // number

İpuçları

İpuçları:

Yardımcılarda any kullanmaktan kaçının; çıkarım zincirini bozar.

Gerekirse dönüş türünü açıkça belirtin; bu, geliştirici deneyimini iyileştirir.

Çok aşamalı birleştirme için aşırı genel yardımcılar yerine küçük yardımcıları seçin.

Birleştirme imzası kontrolü

Hızlı kontrol: Kaynak bağımsız değişken demetini hangi birleştirme imzası korur?

Özet

Özet: Değişken uzunluklu demetlerle bağımsız değişkenleri koruyarak birleştirme/pipe yazdınız; akış, bağımsız değişken sayısını ve türleri kaybetmeden kuruldu.

Sıkça Sorulan Sorular

“Fonksiyonları ve bağımsız değişkenleri güvenle birleştirme” dersi ücretsiz mi?

Evet — “Fonksiyonları ve bağımsız değişkenleri güvenle birleştirme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve TypeScript Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. TypeScript Academy kursu toplamda 3 dersten oluşur.

“Fonksiyonları ve bağımsız değişkenleri güvenle birleştirme” dersinde ne öğreneceğim?

Bağımsız değişken demetlerini ve dönüş türlerini koruyarak fonksiyonları birleştirin; tür güvenli kalan pipe/compose yardımcıları yazın. TypeScript Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

TypeScript Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te TypeScript Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 2. dersidir.

“Fonksiyonları ve bağımsız değişkenleri güvenle birleştirme” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu TypeScript Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her TypeScript Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Demetlerde rest öğeleri, curry türleri
  2. Fonksiyonları ve bağımsız değişkenleri güvenle birleştirme
  3. Güçlü türlere sahip oluşturucular
← TypeScript Academy Sayfasına Dön