TypeScript Academy · leksjon

Valgfrie parametere og standardparametere

Håndter manglende argumenter med ? og standardverdier.

Leksjon 2 av 413 trinn

Valgfrie parametere og standardparametere er en gratis leksjon i TypeScript Academy på CoddyKit. Dette er leksjon 2 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i TypeScript Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i TypeScript Academy inneholder totalt 4 leksjoner.

Velkommen

TypeScript lar deg markere funksjonsparametere som valgfrie med `?` eller gi dem standardverdier. Dette gjør API-er fleksible samtidig som typ sikkerhet ivaretas.

Valgfrie parametere med ?

Legg til `?` etter et parameternavn for å gjøre parameteren valgfri. Parametertypen blir T | undefined inne i funksjonen.
function greet(name: string, greeting?: string): string {
  return (greeting ?? 'Hello') + ', ' + name;
}

Standardverdier for parametere

Tilordne en standardverdi med `=`. TypeScript utleder typen fra standardverdien, og parameteren blir valgfri ved kallestedet.
function greet(name: string, greeting: string = 'Hello'): string {
  return greeting + ', ' + name;
}
greet('Alice');         // 'Hello, Alice'
greet('Bob', 'Hi');    // 'Hi, Bob'

Valgfri kontra standardverdi

En valgfri parameter med `?` gir undefined når den utelates. Standardverdier erstatter undefined med en reserveverdi. Begge gjør parameteren ikke-obligatorisk ved kallestedet.
function opt(x?: number) { return x; }     // x: number | undefined
function def(x: number = 0) { return x; }  // x: number

Regler for plassering

Valgfrie parametere og parametere med standardverdi må komme etter obligatoriske parametere i funksjonssignaturen.
// Correct order
function create(name: string, role: string = 'user', active?: boolean) {}

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

Å angi undefined eksplisitt

Du kan sende `undefined` til en parameter med standardverdi for å utløse standardverdien.
function log(msg: string, level: string = 'info') { console.log(level, msg); }
log('test', undefined); // level is 'info'

Valgfrie parametere og overlastinger

Noen ganger er det tydeligere å bruke overlastinger i stedet for valgfrie parametere, særlig når funksjonens oppførsel endres betydelig avhengig av om parameteren er angitt.

Standardverdier for objektparametere

Du kan destrukturere en objektparameter og angi standardverdier for hver egenskap.
function connect({ host = 'localhost', port = 5432 } = {}) {
  return `${host}:${port}`;
}

Standardverdier for array-parametere

Standardverdier for array-parametere fungerer på samme måte. Angi en tom array som standardverdi for å unngå kontroller av undefined.
function joinAll(parts: string[], sep: string = ', '): string {
  return parts.join(sep);
}

Valgfri kjeding ved kallesteder

Hvis selve funksjonsreferansen er valgfri, bruker du valgfri kjeding `?.()` for å kalle den bare når den finnes.
interface Config { onReady?: () => void; }
function init(config: Config) {
  config.onReady?.();
}

Typen til valgfrie parametere inne i funksjonen

Inne i funksjonen har en valgfri parameter `x?: T` typen `T | undefined`. Du må snevre inn typen før du bruker den som T.
function process(id?: number) {
  if (id === undefined) return;
  console.log(id * 2); // id is number here
}

Kjapp sjekk

Hva er typen til en parameter som er deklarert som `count?: number`, inne i funksjonskroppen?

Oppsummering

Bruk `?` for valgfrie parametere og `= value` for standardverdier. Valgfrie parametere er T | undefined inne i funksjonen. Standardverdier erstatter undefined automatisk. Begge må komme etter obligatoriske parametere.
Gratis å komme i gang

Lær deg TypeScript med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
101
Leksjoner
352

Ofte stilte spørsmål

Er leksjonen «Valgfrie parametere og standardparametere» gratis?

Ja – hele teksten i «Valgfrie parametere og standardparametere» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av TypeScript Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i TypeScript Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Valgfrie parametere og standardparametere»?

Håndter manglende argumenter med ? og standardverdier. Du øver på TypeScript Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med TypeScript Academy?

Ingen tidligere erfaring er nødvendig. TypeScript Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.

Hvor lang tid tar leksjonen «Valgfrie parametere og standardparametere»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne TypeScript Academy-leksjonen?

Ja. Alle TypeScript Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Typeannotasjoner for parametere og returverdier
  2. Valgfrie parametere og standardparametere
  3. Rest-parametere og spread med typer
  4. void, never og funksjonssignaturer
← Tilbake til TypeScript Academy