TypeScript Academy · Oppitunti

Record: avainten yhdistäminen arvotyyppeihin

Rakentakaa sanakirjamaisia tyyppejä Record -syntaksilla

Oppitunti 3/413 vaihetta

Record: avainten yhdistäminen arvotyyppeihin on ilmainen TypeScript Academy-oppitunti CoddyKitissä. Tämä on oppitunti 3/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

Record luo oliotyypin, jolla on tietyt avaimet K ja yhtenäinen arvotyyppi V. Se korvaa sanakirjamaisissa rakenteissa jokaisen avaimen manuaalisen tyypittämisen.

Record-syntaksin perusteet

Anna Recordille avaintyyppi ja arvotyyppi.
type Roles = Record<'admin' | 'user' | 'guest', boolean>;
const access: Roles = { admin: true, user: true, guest: false };

Record string-avaimilla

Käytä `string`-tyyppiä avaintyyppinä yleistä sanakirjaa varten.
const headers: Record<string, string> = {
  'content-type': 'application/json',
  'authorization': 'Bearer token'
};

Record hakutaulukoissa

Record sopii erinomaisesti hakutaulukoihin, joissa tunnuksia tai koodeja yhdistetään arvoihin.
const statusLabels: Record<number, string> = {
  200: 'OK',
  404: 'Not Found',
  500: 'Server Error'
};

Recordin toteutus

Record on avainunionin päälle rakennettu mapped type -tyyppi.
type Record<K extends string | number | symbol, V> = { [P in K]: V };

Record ja indeksiallekirjoitus

Record vastaa muotoa `{ [key: string]: V }`, mutta on luettavampi ja helpommin yhdisteltävä.
// Equivalent:
type A = Record<string, number>;
type B = { [key: string]: number };

Record ja unioniarvot

Arvotyyppi voi olla unioni tai monimutkainen tyyppi.
type Config = Record<'development' | 'staging' | 'production', { url: string; debug: boolean }>;

Valinnainen Record

Yhdistä Record Partialin kanssa, jotta kaikkien avainten ei tarvitse olla mukana.
type OptionalConfig = Partial<Record<'debug' | 'verbose' | 'trace', boolean>>;

Readonly Record

Yhdistä Record Readonlyn kanssa muutosten estämiseksi.
const CODES: Readonly<Record<string, number>> = { A: 1, B: 2 };

Record ryhmittelyssä

Ryhmittele Recordin avulla kohteita luokka-avaimen perusteella.
function groupBy<T>(items: T[], key: keyof T): Record<string, T[]> {
  return items.reduce((acc, item) => {
    const k = String(item[key]);
    (acc[k] ??= []).push(item);
    return acc;
  }, {} as Record<string, T[]>);
}

Record ja Enum-avaimet

Enum-arvoja voi käyttää Recordin avaimina.
enum Color { Red = 'RED', Green = 'GREEN', Blue = 'BLUE' }
const hexCodes: Record<Color, string> = {
  [Color.Red]: '#FF0000',
  [Color.Green]: '#00FF00',
  [Color.Blue]: '#0000FF',
};

Pikatarkistus

Mitä `Record<'a' | 'b', number>` tuottaa?

Kertaus

Record luo tyypitetyn sanakirjan, jolla on tietyt avaimet ja yhtenäiset arvotyypit. Käytä sitä hakutaulukoihin, asetuskarttoihin ja groupBy-tuloksiin. Saat lisää hallintaa yhdistämällä sen Partialin ja Readonlyn kanssa.
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 ”Record: avainten yhdistäminen arvotyyppeihin” ilmainen?

Kyllä – oppitunnin ”Record: avainten yhdistäminen arvotyyppeihin” 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 ”Record: avainten yhdistäminen arvotyyppeihin”?

Rakentakaa sanakirjamaisia tyyppejä Record -syntaksilla 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 3/4.

Kuinka kauan ”Record: avainten yhdistäminen arvotyyppeihin”-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. Partial ja Required: valinnaisuuden vaihtaminen
  2. Pick ja Omit: ominaisuuksien valitseminen
  3. Record: avainten yhdistäminen arvotyyppeihin
  4. Readonly, Exclude, Extract ja NonNullable
← Takaisin: TypeScript Academy