0Pricing
TypeScript Academy · Lekcja

Opcjonalne i domyślne parametry

Obsługuj brakujące argumenty za pomocą ? i wartości domyślnych.

Opcjonalne i domyślne parametry to bezpłatna lekcja TypeScript Academy na CoddyKit. To lekcja 2 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

TypeScript pozwala oznaczać parametry funkcji jako opcjonalne za pomocą `?` lub nadawać im wartości domyślne. Dzięki temu interfejsy API są elastyczne, a jednocześnie zachowują bezpieczeństwo typów.

Parametry opcjonalne za pomocą ?

Dodaj `?` po nazwie parametru, aby uczynić go opcjonalnym. Wewnątrz funkcji typ parametru staje się T | undefined.
function greet(name: string, greeting?: string): string {
  return (greeting ?? 'Hello') + ', ' + name;
}

Domyślne wartości parametrów

Przypisz wartość domyślną za pomocą `=`. TypeScript wywnioskuje typ na podstawie wartości domyślnej, a parametr stanie się opcjonalny w miejscu wywołania.
function greet(name: string, greeting: string = 'Hello'): string {
  return greeting + ', ' + name;
}
greet('Alice');         // 'Hello, Alice'
greet('Bob', 'Hi');    // 'Hi, Bob'

Parametr opcjonalny a domyślny

Opcjonalny `?` daje undefined, gdy parametr zostanie pominięty. Wartości domyślne zastępują undefined wartością zastępczą. W obu przypadkach parametr nie jest wymagany w miejscu wywołania.
function opt(x?: number) { return x; }     // x: number | undefined
function def(x: number = 0) { return x; }  // x: number

Zasady umieszczania

Parametry opcjonalne i domyślne muszą występować po wymaganych parametrach w sygnaturze funkcji.
// Correct order
function create(name: string, role: string = 'user', active?: boolean) {}

// Error: required after optional
// function bad(x?: string, y: string) {}

Jawne wywołanie z undefined

Możesz przekazać `undefined` do parametru z wartością domyślną, aby uruchomić użycie tej wartości.
function log(msg: string, level: string = 'info') { console.log(level, msg); }
log('test', undefined); // level is 'info'

Parametry opcjonalne a przeciążenia

Czasami zamiast parametrów opcjonalnych warto użyć przeciążeń, szczególnie gdy zachowanie funkcji znacząco zmienia się w zależności od obecności parametru.

Domyślne parametry obiektowe

Możesz wykonać destrukturyzację parametru obiektowego, ustawiając wartości domyślne dla poszczególnych właściwości.
function connect({ host = 'localhost', port = 5432 } = {}) {
  return `${host}:${port}`;
}

Domyślne parametry tablicowe

Domyślne parametry tablicowe działają tak samo. Podaj domyślnie pustą tablicę, aby uniknąć sprawdzania wartości undefined.
function joinAll(parts: string[], sep: string = ', '): string {
  return parts.join(sep);
}

Łańcuchowe wywołanie opcjonalne w miejscach wywołania

Jeśli samo odwołanie do funkcji jest opcjonalne, użyj łańcuchowego wywołania opcjonalnego `?.()`, aby wywołać ją tylko wtedy, gdy istnieje.
interface Config { onReady?: () => void; }
function init(config: Config) {
  config.onReady?.();
}

Typ parametrów opcjonalnych wewnątrz funkcji

Wewnątrz funkcji opcjonalny parametr `x?: T` ma typ `T | undefined`. Przed użyciem go jako T musisz zawęzić jego typ.
function process(id?: number) {
  if (id === undefined) return;
  console.log(id * 2); // id is number here
}

Szybkie sprawdzenie

Jaki jest typ parametru zadeklarowanego jako `count?: number` wewnątrz treści funkcji?

Podsumowanie

Używaj `?` dla parametrów opcjonalnych oraz `= value` dla wartości domyślnych. Wewnątrz funkcji parametry opcjonalne mają typ T | undefined. Wartości domyślne automatycznie zastępują undefined. W obu przypadkach parametry muszą występować po wymaganych parametrach.

Często zadawane pytania

Czy lekcja „Opcjonalne i domyślne parametry” jest bezpłatna?

Tak — pełny tekst „Opcjonalne i domyślne parametry” 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 „Opcjonalne i domyślne parametry”?

Obsługuj brakujące argumenty za pomocą ? i wartości domyślnych. Ć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 2 z 4.

Ile czasu zajmuje lekcja „Opcjonalne i domyślne parametry”?

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. Adnotacje typów parametrów i wartości zwracanych
  2. Opcjonalne i domyślne parametry
  3. Parametry rest i spread z typami
  4. void, never i sygnatury funkcji
← Powrót do TypeScript Academy