Unionstyper och intersectionstyper
Kombinera och arbeta med flera typer
Unionstyper och intersectionstyper är en gratis lektion i TypeScript Academy på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för TypeScript Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i TypeScript Academy innehåller totalt 4 lektioner.
Uniontyper och intersektionstyper
Välkommen till nästa lektion! I den här lektionen får du lära dig hur du använder uniontyper för att tillåta flera möjliga typer för en variabel och intersektionstyper för att kombinera flera typer till en enda. Det här är kraftfulla verktyg för att skapa flexibel och robust kod. Nu sätter vi igång!

Vad är uniontyper?
Uniontyper gör att en variabel kan innehålla mer än en typ. Du kan använda symbolen | för att definiera en uniontyp.
Exempel: En variabel som kan vara antingen en sträng eller ett tal:
Uppgift: Deklarera en variabel med en uniontyp och tilldela den olika värden.
let value: string | number;
value = "Hello";
console.log(value); // Output: "Hello"
value = 42;
console.log(value); // Output: 42
Använda uniontyper i funktioner
Du kan använda uniontyper i funktionsparametrar för att tillåta flera indatatyper. Exempel:
Uppgift: Skriv en funktion som tar emot en parameter av en uniontyp och loggar den i konsolen.
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
Vad är intersektionstyper?
Intersektionstyper kombinerar flera typer till en enda. Du kan använda symbolen & för att definiera en intersektionstyp.
Exempel: Kombinera två objekttyper:
Uppgift: Skapa en intersektionstyp för att kombinera två objekt och använd den.
type Person = { name: string };
type Employee = { employeeId: number };
type Staff = Person & Employee;
let staffMember: Staff = {
name: "Alice",
employeeId: 123,
};
console.log(staffMember);
Använda typvakter med uniontyper
TypeScript vet inte vilken typ du använder i en uniontyp. Du kan använda typvakter för att begränsa typen. Exempel:
Uppgift: Använd typvakter för att hantera olika typer i en uniontyp.
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
Intersektionstyper i praktiken
Intersektionstyper är användbara när du arbetar med objekt som delar egenskaper. Exempel:
Uppgift: Skapa en intersektionstyp för administratörs- och användarroller.
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}`);
Vanliga misstag med uniontyper och intersektionstyper
Här är några vanliga misstag:
- Att använda en uniontyp utan att hantera alla möjliga fall (till exempel att glömma en typvakt).
- Att göra typerna onödigt komplicerade med överflödiga intersektioner.
- Att tilldela inkompatibla värden till en uniontyp eller intersektionstyp.
Tips: Testa alltid koden för att säkerställa att typerna fungerar som förväntat!
När ska uniontyper och intersektionstyper användas?
Använd uniontyper när:
- En variabel kan ha en av flera möjliga typer.
- Du behöver flexibilitet i funktionsparametrar.
Använd intersektionstyper när:
- Du kombinerar flera objekt eller typer till en enda.
- Du skapar mer komplexa typer för specifika användningsområden.
type A = { x: number };
type B = { y: number };
type AB = A & B;
let obj: AB = { x: 5, y: 10 };
Bra jobbat!
Grattis! Du har lärt dig hur du använder uniontyper och intersektionstyper för att hantera komplexa situationer i TypeScript. De här verktygen gör koden mer flexibel och uttrycksfull. I nästa lektion ska vi utforska enum och hur de hjälper dig att hantera konstanta värden. Fortsätt koda!

Lär dig TypeScript med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 101
- Lektioner
- 352
Vanliga frågor
Är lektionen ”Unionstyper och intersectionstyper” gratis?
Ja – hela texten till ”Unionstyper och intersectionstyper” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i TypeScript Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i TypeScript Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Unionstyper och intersectionstyper”?
Kombinera och arbeta med flera typer Ni övar på TypeScript Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig TypeScript Academy?
Du behöver inga förkunskaper. Utbildningen i TypeScript Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”Unionstyper och intersectionstyper”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här TypeScript Academy-lektionen?
Ja. Varje TypeScript Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Arrayer och tupler
- Unionstyper och intersectionstyper
- Enum-typer
- Literaltyper