0Pricing
TypeScript Academy · Lekcja

Domyślne parametry typów

Podawaj typy zastępcze, gdy nie przekazano argumentu.

Domyślne parametry typów to bezpłatna lekcja TypeScript Academy na CoddyKit. To lekcja 4 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

Domyślne parametry typów zapewniają typ zastępczy, gdy wywołujący nie określi argumentu typu. Sprawiają, że generyczne API są wygodniejsze w użyciu.

Składnia wartości domyślnych

Dodaj `= DefaultType` po nazwie parametru typu, aby ustawić wartość domyślną.
interface Container<T = string> {
  value: T;
}
const c: Container = { value: 'hello' }; // T defaults to string
const n: Container<number> = { value: 42 };

Wartości domyślne w funkcjach generycznych

Parametry typu funkcji również mogą mieć wartości domyślne, choć zdarza się to rzadziej, ponieważ TypeScript zwykle wnioskuje typ.
function createList<T = string>(): T[] { return []; }
const list = createList(); // T is string by default

Wartości domyślne z ograniczeniami

Parametr typu może mieć zarówno ograniczenie, jak i wartość domyślną. Wartość domyślna musi spełniać ograniczenie.
interface Event<T extends object = Record<string, unknown>> {
  type: string;
  payload: T;
}

Wartości domyślne w komponentach podobnych do React

Domyślne parametry typów są często używane w generykach bibliotek UI dla właściwości komponentów.
interface SelectProps<T = string> {
  options: T[];
  value: T;
  onChange: (val: T) => void;
}

Wiele wartości domyślnych

Każdy z wielu parametrów typu może mieć własną wartość domyślną.
type Pair<A = string, B = number> = { first: A; second: B };
const p: Pair = { first: 'hello', second: 42 }; // A=string, B=number

Końcowe parametry typu również wymagają wartości domyślnych

Jeśli chcesz użyć wartości domyślnej dla późniejszego parametru typu, musisz określić wszystkie wcześniejsze parametry, które nie mają wartości domyślnych.
type Map<K = string, V = unknown> = Record<K extends string ? K : string, V>;
const m: Map = {}; // K=string, V=unknown by default

Kiedy TypeScript ignoruje wartość domyślną

Jeśli TypeScript może wywnioskować argument typu z kontekstu, używa wywnioskowanego typu, nawet gdy podano wartość domyślną.
function wrap<T = string>(val: T): T { return val; }
const n = wrap(42); // T is number, not string (inferred)

Jawne zastępowanie wartości domyślnych

Podanie jawnego argumentu typu zawsze zastępuje wartość domyślną.
interface Box<T = string> { item: T; }
const numBox: Box<number> = { item: 100 }; // T explicitly number

Wartości domyślne w generycznych klasach

Generyczne klasy również mogą mieć domyślne parametry typów.
class Stack<T = unknown> {
  private items: T[] = [];
  push(item: T) { this.items.push(item); }
  pop(): T | undefined { return this.items.pop(); }
}

Wartości domyślne ułatwiają korzystanie z bibliotek generycznych

Autorzy bibliotek używają domyślnych parametrów typów, aby ograniczyć ilość kodu, który wywołujący muszą pisać w typowych przypadkach użycia.

Szybkie sprawdzenie

Mając `interface Box`, jaki jest typ `.value` w `const b: Box = { value: 99 }`?

Podsumowanie

Domyślne parametry typów (T = DefaultType) zapewniają typy zastępcze, gdy wywołujący nie określi parametru. Są najbardziej przydatne w interfejsach, definicjach klas i API bibliotek, ponieważ ograniczają ilość kodu wymaganego od wywołującego.

Często zadawane pytania

Czy lekcja „Domyślne parametry typów” jest bezpłatna?

Tak — pełny tekst „Domyślne parametry typów” 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 „Domyślne parametry typów”?

Podawaj typy zastępcze, gdy nie przekazano argumentu. Ć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 4 z 4.

Ile czasu zajmuje lekcja „Domyślne parametry typów”?

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. Funkcje generyczne: parametry typów
  2. Generyczne interfejsy i aliasy typów
  3. Ograniczenia generyczne za pomocą extends
  4. Domyślne parametry typów
← Powrót do TypeScript Academy