Geneeristen tyyppien rajoitteet: tyyppiparametrien kaventaminen
Varmistakaa extends-avainsanalla geneeristen tyyppien rakennevaatimukset
Geneeristen tyyppien rajoitteet: tyyppiparametrien kaventaminen on ilmainen TypeScript Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. 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ä 4 oppituntia.
Tervetuloa
Rajoitteiden kertaus
function len<T extends { length: number }>(val: T): number {
return val.length;
}Rajoittaminen tiettyihin metodeihin
interface Stringable { toString(): string; }
function stringify<T extends Stringable>(val: T): string {
return val.toString();
}Päättele rajoitteesta
function pluck<T, K extends keyof T>(items: T[], key: K): T[K][] {
return items.map(item => item[key]);
}
const names = pluck(users, 'name'); // string[]Korkeamman asteen rajoitteet (simuloituna)
Rajoittaminen primitiivityyppeihin
type Primitive = string | number | boolean | bigint | symbol | null | undefined;
function isPrimitive<T extends Primitive>(val: T): true { return true; }Rekursiiviset rajoitteet
interface Comparable<T> { compareTo(other: T): number; }
function sort<T extends Comparable<T>>(items: T[]): T[] {
return [...items].sort((a, b) => a.compareTo(b));
}Rajoite oletusarvolla
function process<T extends object = Record<string, unknown>>(data: T): void {
console.log(Object.keys(data));
}T extends Record<string, unknown>
function getValue<T extends Record<string, unknown>>(obj: T, key: string): unknown {
return obj[key];
}Rajoitteen päättely paluutyypeissä
function firstKey<T extends object>(obj: T): keyof T {
return Object.keys(obj)[0] as keyof T;
}NoInfer-apuohjelma (TS 5.4)
function createState<T>(initial: T, fallback: NoInfer<T>): T {
return initial ?? fallback;
}Pikatarkistus
Kertaus
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 ”Geneeristen tyyppien rajoitteet: tyyppiparametrien kaventaminen” ilmainen?
Kyllä – oppitunnin ”Geneeristen tyyppien rajoitteet: tyyppiparametrien kaventaminen” 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ä 4 oppituntia.
Mitä opin oppitunnilla ”Geneeristen tyyppien rajoitteet: tyyppiparametrien kaventaminen”?
Varmistakaa extends-avainsanalla geneeristen tyyppien rakennevaatimukset 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/4.
Kuinka kauan ”Geneeristen tyyppien rajoitteet: tyyppiparametrien kaventaminen”-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
- keyof ja indeksoidun käytön tyypit
- Geneeristen tyyppien rajoitteet: tyyppiparametrien kaventaminen
- Ehdolliset tyypit: T extends U ? X : Y
- Distributiiviset ehdolliset tyypit