TypeScript Academy · leksjon

void, never og funksjonssignaturer

Forstå void for funksjoner uten returverdi og never for kode som ikke kan nås.

Leksjon 4 av 413 trinn

void, never og funksjonssignaturer er en gratis leksjon i TypeScript Academy på CoddyKit. Dette er leksjon 4 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

To spesielle returtyper – void og never – representerer funksjoner som ikke produserer en nyttig verdi, og funksjoner som aldri fullføres normalt.

void: Ingen meningsfull returverdi

void brukes når en funksjon utfører en bivirkning, men ikke returnerer en verdi. Det tillater at undefined returneres, men signaliserer at returverdien ikke skal brukes.
function logError(msg: string): void {
  console.error(msg);
  // implicit return undefined
}

Forskjellen mellom void og undefined

void og undefined ligner på hverandre, men er forskjellige. En void-typet funksjon kan returnere undefined. void signaliserer imidlertid at den som kaller funksjonen, bør ignorere returverdien.
const fn: () => void = () => 42; // Allowed! Caller ignores return
const fn2: () => undefined = () => 42; // Error

void i callbacks

Når du angir typen til en callback-parameter, viser void at den som kaller funksjonen, ikke bruker returverdien. Dette tillater callbacks å returnere en hvilken som helst type.
function run(cb: () => void): void { cb(); }
run(() => 'hello'); // OK — return value ignored

never: Typen for det uoppnåelige

never representerer en verdi som aldri oppstår. En funksjon som returnerer never, kaster enten et unntak eller kjører i en uendelig løkke.
function fail(msg: string): never {
  throw new Error(msg);
}
function loop(): never {
  while (true) {}
}

never ved kontroll av fullstendighet

never brukes i switch-setninger for å sikre at alle tilfeller i en union håndteres. En tilordning til never fører til en feil hvis et tilfelle mangler.
type Shape = 'circle' | 'square';
function area(s: Shape): number {
  switch (s) {
    case 'circle': return 3.14;
    case 'square': return 1;
    default:
      const _: never = s; // Error if a new shape is added
      return 0;
  }
}

never er en undertype av alt

never kan tilordnes til alle typer (det skjer aldri, og oppfyller derfor enhver type trivielt). Ingen andre typer kan tilordnes til never.

Funksjonstypesignaturer

En funksjonstype skrives som `(param: Type) => ReturnType`. Dette beskriver funksjoner som verdier på lik linje med andre verdier.
type Handler = (event: MouseEvent) => void;
type Transform = (input: string) => string;

Kallesignaturer i grensesnitt

Grensesnitt kan definere kallbare typer ved hjelp av syntaks for kallesignaturer.
interface Formatter {
  (value: string): string;
  locale: string;
}

Konstruktørsignaturer

Grensesnitt kan også definere konstruktørbare typer ved å bruke nøkkelordet new i en konstruktørsignatur.
interface Constructor {
  new (name: string): Animal;
}

Kombinere void og never i feilhåndtering

Funksjoner som alltid kaster et unntak, bruker never. Funksjoner som skjuler feil og ikke returnerer noe, bruker void. Dette skillet er viktig for kontrollflytanalysen.
function orThrow(val: string | null): string {
  if (val === null) fail('null!'); // never
  return val; // TypeScript knows this is reachable
}

Kjapp sjekk

Hvilken returtype signaliserer at en funksjon alltid vil kaste en feil og aldri returnere normalt?

Oppsummering

Bruk void for funksjoner med bivirkninger som ikke har noen meningsfull returverdi. Bruk never for funksjoner som kaster unntak eller kjører i løkke. never muliggjør kontroll av fullstendighet og er en undertype av alle typer.
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 «void, never og funksjonssignaturer» gratis?

Ja – hele teksten i «void, never og funksjonssignaturer» 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 «void, never og funksjonssignaturer»?

Forstå void for funksjoner uten returverdi og never for kode som ikke kan nås. 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 4 av 4.

Hvor lang tid tar leksjonen «void, never og funksjonssignaturer»?

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