0Pricing
TypeScript Academy · Lekcja

Record: mapowanie kluczy na typy wartości

Buduj typy przypominające słowniki za pomocą Record .

Record: mapowanie kluczy na typy wartości to bezpłatna lekcja TypeScript Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej TypeScript Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs TypeScript Academy zawiera 4 lekcji w sumie.

Wprowadzenie

Record tworzy typ obiektu z określonymi kluczami K i jednolitym typem wartości V. Zastępuje ręczne wpisywanie każdego klucza w strukturach przypominających słowniki.

Podstawowa składnia Record

Przekaż do Record typ klucza i typ wartości.
type Roles = Record<'admin' | 'user' | 'guest', boolean>;
const access: Roles = { admin: true, user: true, guest: false };

Record z kluczami typu string

Użyj `string` jako typu klucza dla ogólnego słownika.
const headers: Record<string, string> = {
  'content-type': 'application/json',
  'authorization': 'Bearer token'
};

Record dla tabel wyszukiwania

Record świetnie nadaje się do tabel wyszukiwania, w których mapujesz identyfikatory lub kody na wartości.
const statusLabels: Record<number, string> = {
  200: 'OK',
  404: 'Not Found',
  500: 'Server Error'
};

Implementacja Record

Record jest typem mapowanym po unii kluczy.
type Record<K extends string | number | symbol, V> = { [P in K]: V };

Record a sygnatura indeksu

Record jest równoważny `{ [key: string]: V }`, ale jest czytelniejszy i łatwiejszy do komponowania.
// Equivalent:
type A = Record<string, number>;
type B = { [key: string]: number };

Record z wartościami unii

Typ wartości może być unią lub typem złożonym.
type Config = Record<'development' | 'staging' | 'production', { url: string; debug: boolean }>;

Częściowy Record

Połącz Record z Partial, aby zezwolić na brak niektórych kluczy.
type OptionalConfig = Partial<Record<'debug' | 'verbose' | 'trace', boolean>>;

Tylko do odczytu Record

Połącz Record z Readonly, aby uniemożliwić wprowadzanie zmian.
const CODES: Readonly<Record<string, number>> = { A: 1, B: 2 };

Record do grupowania

Użyj Record do grupowania elementów według klucza kategorii.
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 z kluczami enum

Wartości enum mogą być kluczami Record.
enum Color { Red = 'RED', Green = 'GREEN', Blue = 'BLUE' }
const hexCodes: Record<Color, string> = {
  [Color.Red]: '#FF0000',
  [Color.Green]: '#00FF00',
  [Color.Blue]: '#0000FF',
};

Szybkie sprawdzenie

Co tworzy `Record<'a' | 'b', number>`?

Podsumowanie

Record tworzy typowany słownik z określonymi kluczami i jednolitymi typami wartości. Używaj go do tabel wyszukiwania, map konfiguracji i wyników groupBy. Połącz go z Partial i Readonly, aby uzyskać większą kontrolę.

Często zadawane pytania

Czy lekcja „Record: mapowanie kluczy na typy wartości” jest bezpłatna?

Tak — pełny tekst „Record: mapowanie kluczy na typy wartości” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu TypeScript Academy, przejdź na CoddyKit PRO. Kurs TypeScript Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Record: mapowanie kluczy na typy wartości”?

Buduj typy przypominające słowniki za pomocą Record . Ćwiczysz TypeScript Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć TypeScript Academy?

Nie wymagamy żadnego doświadczenia. TypeScript Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Record: mapowanie kluczy na typy wartości”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji TypeScript Academy?

Tak. Każda lekcja TypeScript Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Partial i Required: przełączanie opcjonalności
  2. Pick i Omit: wybieranie właściwości
  3. Record: mapowanie kluczy na typy wartości
  4. Readonly, Exclude, Extract i NonNullable
← Powrót do TypeScript Academy