TypeScript Academy · leksjon

Unionstyper og snitt-typer

Kombiner og arbeid med flere typer

Leksjon 2 av 410 trinn

Unionstyper og snitt-typer 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.

Uniontyper og interseksjonstyper

Velkommen til neste leksjon! I denne leksjonen lærer De hvordan De bruker uniontyper for å tillate flere mulige typer for en variabel, og interseksjonstyper for å kombinere flere typer til én. Dette er kraftige verktøy for å lage fleksibel og robust kode. La oss sette i gang!

Unionstyper og snitt-typer — illustrasjon 1

Hva er uniontyper?

Uniontyper lar en variabel inneholde mer enn én type. De kan bruke symbolet | til å definere en uniontype.

Eksempel: En variabel som kan være enten en streng eller et tall:

Oppgave: Deklarer en variabel med en uniontype og tilordne ulike verdier til den.

let value: string | number;
value = "Hello";
console.log(value); // Output: "Hello"

value = 42;
console.log(value); // Output: 42

Bruke uniontyper i funksjoner

De kan bruke uniontyper i funksjonsparametere for å tillate flere inndatatyper. Eksempel:

Oppgave: Skriv en funksjon som godtar en parameter av en uniontype og logger den til konsollen.

function printValue(value: string | number): void {
  console.log(`The value is ${value}`);
}

printValue("Hello"); // Output: The value is Hello
printValue(100); // Output: The value is 100

Hva er interseksjonstyper?

Interseksjonstyper kombinerer flere typer til én. De kan bruke symbolet & til å definere en interseksjonstype.

Eksempel: Kombinere to objekttyper:

Oppgave: Opprett en interseksjonstype for å kombinere to objekter og bruke den.

type Person = { name: string };
type Employee = { employeeId: number };

type Staff = Person & Employee;

let staffMember: Staff = {
  name: "Alice",
  employeeId: 123,
};

console.log(staffMember);

Bruke type guards med uniontyper

TypeScript vet ikke hvilken type De bruker i en uniontype. De kan bruke type guards for å innsnevre typen. Eksempel:

Oppgave: Bruk type guards for å håndtere ulike typer i en union.

function display(value: string | number): void {
  if (typeof value === "string") {
    console.log(`String value: ${value.toUpperCase()}`);
  } else {
    console.log(`Number value: ${value * 2}`);
  }
}

display("Hello"); // Output: String value: HELLO
display(5); // Output: Number value: 10

Interseksjonstyper i praksis

Interseksjonstyper er nyttige når De arbeider med objekter som har egenskaper til felles. Eksempel:

Oppgave: Opprett en interseksjonstype for administrator- og brukerroller.

type Admin = { adminLevel: string };
type User = { username: string };

type AdminUser = Admin & User;

let admin: AdminUser = {
  adminLevel: "super",
  username: "admin123",
};

console.log(`Admin ${admin.username} has level ${admin.adminLevel}`);

Vanlige feil med uniontyper og interseksjonstyper

Her er noen vanlige feil:

  • Bruke en uniontype uten å håndtere alle mulige tilfeller (for eksempel ved å glemme en type guard).
  • Gjøre typer unødvendig kompliserte med overflødige interseksjoner.
  • Tilordne inkompatible verdier til en uniontype eller interseksjonstype.

Tips: Test alltid koden Deres for å sikre at typene fungerer som forventet!

Når bør De bruke uniontyper og interseksjonstyper?

Bruk uniontyper når:

  • En variabel kan ha én av flere mulige typer.
  • De trenger fleksibilitet i funksjonsparametere.

Bruk interseksjonstyper når:

  • De kombinerer flere objekter eller typer til én.
  • De lager mer komplekse typer for spesifikke bruksområder.
type A = { x: number };
type B = { y: number };

type AB = A & B;

let obj: AB = { x: 5, y: 10 };

Godt jobbet!

Gratulerer! De har lært hvordan De bruker uniontyper og interseksjonstyper til å håndtere komplekse situasjoner i TypeScript. Disse verktøyene gjør koden Deres mer fleksibel og uttrykksfull. I neste leksjon skal vi utforske enum-er og hvordan de bidrar til å håndtere konstante verdier. La oss fortsette å programmere!

Unionstyper og snitt-typer — illustrasjon 10
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 «Unionstyper og snitt-typer» gratis?

Ja – hele teksten i «Unionstyper og snitt-typer» 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 «Unionstyper og snitt-typer»?

Kombiner og arbeid med flere typer 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 «Unionstyper og snitt-typer»?

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. Arrayer og tupler
  2. Unionstyper og snitt-typer
  3. Enums
  4. Literaltyper
← Tilbake til TypeScript Academy