Geneeriset interface-määrittelyt ja tyyppialiakset
Soveltakaa geneerisyyttä interface-määrittelyihin ja omiin tyyppeihin
Geneeriset interface-määrittelyt ja tyyppialiakset 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
Geneerisen interfacen syntaksi
interface Box<T> {
value: T;
unwrap(): T;
}
const box: Box<number> = { value: 42, unwrap() { return this.value; } };Geneerinen tyyppialias
type Maybe<T> = T | null | undefined;
type Pair<A, B> = { first: A; second: B };
const p: Pair<string, number> = { first: 'Alice', second: 30 };Geneerinen Repository-interface
interface Repository<T> {
findById(id: number): T | null;
findAll(): T[];
save(item: T): void;
delete(id: number): void;
}Geneerisen interfacen toteuttaminen
class UserRepo implements Repository<User> {
findById(id: number): User | null { return null; }
findAll(): User[] { return []; }
save(user: User): void {}
delete(id: number): void {}
}Geneeristen interfacien laajentaminen
interface Named<T> { name: T; }
interface NamedAndAged<T> extends Named<T> { age: number; }Geneerinen vastaustyyppi
type ApiResponse<T> = {
status: 'success' | 'error';
data: T;
timestamp: number;
};
const res: ApiResponse<User[]> = { status: 'success', data: [], timestamp: Date.now() };Useita tyyppiparametreja interfaceissa
interface KeyValue<K, V> {
key: K;
value: V;
}
const kv: KeyValue<string, number> = { key: 'age', value: 30 };Geneerinen metodi ei-geneerisessä interfacessa
interface Transformer {
transform<T, U>(input: T, fn: (val: T) => U): U;
}Rekursiiviset geneeriset tyypit
interface TreeNode<T> {
value: T;
children: TreeNode<T>[];
}Tyyppialias vai interface geneerisille tyypeille
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 ”Geneeriset interface-määrittelyt ja tyyppialiakset” ilmainen?
Kyllä – oppitunnin ”Geneeriset interface-määrittelyt ja tyyppialiakset” 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 ”Geneeriset interface-määrittelyt ja tyyppialiakset”?
Soveltakaa geneerisyyttä interface-määrittelyihin ja omiin tyyppeihin 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 ”Geneeriset interface-määrittelyt ja tyyppialiakset”-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
- Geneeriset funktiot: tyyppiparametrit
- Geneeriset interface-määrittelyt ja tyyppialiakset
- Geneeristen tyyppien rajoitteet extends-avainsanalla
- Oletustyyppiparametrit