Funktioiden ja argumenttien turvallinen koostaminen
Koostakaa funktioita säilyttäen argumenttituplet ja paluutyypit sekä kirjoittakaa tyyppiturvallisia pipe- ja compose-apufunktioita.
Funktioiden ja argumenttien turvallinen koostaminen on ilmainen TypeScript Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/3. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu TypeScript Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. TypeScript Academy-kurssilla on yhteensä 3 oppituntia.
Johdanto
Tavoite: Yhdistäkää funktioita menettämättä tietoa niiden argumenteista. Variadic-tuplet säilyttävät koko args-tuplen pipe- ja compose-apuohjelmien läpi.
- Säilyttäkää ariteetti ja nimet
- Säilyttäkää päättely ketjun eri vaiheissa
- Ei
any-tyyppiä eikä tyyppimuunnoksia
Perustason compose
compose: Ensimmäinen funktio ottaa kaikki argumentit (...args: A), ja toinen käyttää sen palautusarvoa; ariteetti ja tyypit säilyvät.
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) // booleanPipe-apuohjelma
pipe toteuttaa saman idean käänteisessä järjestyksessä; tyypin päättely etenee intuitiivisemmin.
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) // booleanCompose 3+
3+ funktiota: samaa mallia toistetaan, A-tuple säilyy ja väliarvojen palautustyypit ketjuttuvat.
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"Alun sitominen
bindHead: Esitäyttäkää kaikki argumentit ja luokaa 0-argumenttinen funktio; tämä on tarkoitettu vain esittelyyn (itse asiassa siitä voidaan tehdä joustavampi Parameters-apuohjelmalla).
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() // numberVinkkejä
Vinkkejä:
Välttäkää any-tyyppiä apuohjelmissa; se katkaisee päättelyketjun.
Määrittäkää palautustyyppi tarvittaessa eksplisiittisesti; tämä parantaa kehittäjäkokemusta.
Valitkaa monivaiheiseen yhdistämiseen pieniä apuohjelmia liian yleisten sijaan.
Compose-allekirjoituksen tarkistus
Pikatarkistus: Mikä compose-allekirjoitus säilyttää lähteen argumenttituplen?
Kertaus
Kertaus: Kirjoititte compose- ja pipe-apuohjelmat säilyttäen argumentit variadic-tupleilla; ketju muodostuu ilman, että ariteetti tai tyypit katoavat.
Opi TypeScript tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 101
- Oppitunnit
- 352
Usein kysytyt kysymykset
Onko oppitunti ”Funktioiden ja argumenttien turvallinen koostaminen” ilmainen?
Kyllä – oppitunnin ”Funktioiden ja argumenttien turvallinen koostaminen” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko TypeScript Academy-kurssin, päivitä CoddyKit PROhon. TypeScript Academy-kurssilla on yhteensä 3 oppituntia.
Mitä opin oppitunnilla ”Funktioiden ja argumenttien turvallinen koostaminen”?
Koostakaa funktioita säilyttäen argumenttituplet ja paluutyypit sekä kirjoittakaa tyyppiturvallisia pipe- ja compose-apufunktioita. Harjoittelet TypeScript Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni TypeScript Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin TypeScript Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/3.
Kuinka kauan ”Funktioiden ja argumenttien turvallinen koostaminen”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä TypeScript Academy-oppitunnilla?
Kyllä. Jokainen TypeScript Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Tuplen rest-alkiot ja curryn tyypit
- Funktioiden ja argumenttien turvallinen koostaminen
- Vahvasti tyypitetyt rakentajat