TypeScript Academy · Oppitunti

Kuvatut tyypit

Opetelkaa muuntamaan olemassa olevia tyyppejä uusiksi kuvattujen tyyppien avulla, mikä lisää joustavuutta dynaamisten tietorakenteiden käsittelyssä.

Oppitunti 2/310 vaihetta

Kuvatut tyypit 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 mapped-tyyppeihin

Mapped-tyyppien avulla voitte muuntaa olemassa olevia tyyppejä uusiksi tyypeiksi soveltamalla toimintoja tyypin jokaiseen ominaisuuteen.

Ne ovat tehokas tapa luoda joustavia ja uudelleenkäytettäviä tyyppirakenteita TypeScriptissä.

Kuvatut tyypit — kuvitus 1

Mitä mapped-tyypit ovat?

Mapped-tyypeissä käytetään esimerkiksi syntaksia { [P in keyof T]: T[P] } tyypin T ominaisuuksien läpikäymiseen.

Mapped-tyyppien perusesimerkki

Tässä on yksinkertainen esimerkki siitä, miten mapped-tyypin avulla luodaan tyypistä vain luku -muotoinen versio:

type User = {
  name: string;
  age: number;
};

type ReadonlyUser = {
  readonly [P in keyof User]: User[P];
};

Sisäänrakennettujen mapped-tyyppien käyttäminen

TypeScript tarjoaa useita sisäänrakennettuja mapped-tyyppejä, kuten:

  • Readonly<T>: Tekee kaikista tyypin T ominaisuuksista vain luettavia.
  • Partial<T>: Tekee kaikista tyypin T ominaisuuksista valinnaisia.
  • Required<T>: Tekee kaikista tyypin T ominaisuuksista pakollisia.
type User = {
  name: string;
  age: number;
};

// Example of Partial
const user: Partial<User> = {
  name: 'John',
};

Unionien mapittaminen

Mapped-tyyppejä voidaan käyttää myös unionityyppien kanssa uusien yhdistettyjen tyyppien luomiseen:

type Status = 'active' | 'inactive';

type StatusFlags = {
  [K in Status]: boolean;
};

const flags: StatusFlags = {
  active: true,
  inactive: false,
};

Ehdolliset mapped-tyypit

Voitte käyttää ehdollisia tyyppejä yhdessä mapped-tyyppien kanssa monimutkaisempien tyyppimuunnosten luomiseen.

type User = {
  name: string;
  age?: number;
};

type NonOptional<T> = {
  [K in keyof T]-?: T[K];
};

type RequiredUser = NonOptional<User>;

Edistynyt esimerkki: ominaisuuksien poissulkeminen

Seuraavassa näette, miten voitte luoda mapped-tyypin tiettyjen ominaisuuksien poissulkemista varten:

type User = {
  id: number;
  name: string;
  password: string;
};

type PublicUser = {
  [K in keyof User as Exclude<K, 'password'>]: User[K];
};

Harjoitustehtävä

Luokaa mapped-tyyppi, joka lisää readonly-määritteen Product-tyypin kaikkiin ominaisuuksiin. Testatkaa sitä määrittämällä uuden tyypin muuttuja.

Mapped-tyyppien kertaus

Onnittelut!

Olette oppineet käyttämään mapped-tyyppejä olemassa olevien tyyppien muuntamiseen dynaamisesti uusiksi tyypeiksi. Harjoitelkaa näitä tekniikoita, jotta TypeScript-koodinne olisi entistä tehokkaampaa!

Kuvatut tyypit — kuvitus 10
Aloita maksutta

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 ”Kuvatut tyypit” ilmainen?

Kyllä – oppitunnin ”Kuvatut tyypit” 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 ”Kuvatut tyypit”?

Opetelkaa muuntamaan olemassa olevia tyyppejä uusiksi kuvattujen tyyppien avulla, mikä lisää joustavuutta dynaamisten tietorakenteiden käsittelyssä. 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 ”Kuvatut tyypit”-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

  1. Keyof- ja hakutyypit
  2. Kuvatut tyypit
  3. Leikkaus- ja unionityypit
← Takaisin: TypeScript Academy