Avancerad typförfining
Lär dig använda avancerade typvakter och kontrollflödesanalys för att enkelt hantera komplexa typvillkor.
Avancerad typförfining är en gratis lektion i TypeScript Academy på CoddyKit. Detta är lektion 1 av 3. 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 3 lektioner.
Introduktion till avancerad typavsmalning
Avancerad typavsmalning låter Er förfina komplexa typer under körning med hjälp av avancerade tekniker som type guards, kontrollflödesanalys och anpassade predikat.
Dessa verktyg gör Er TypeScript-kod säkrare och mer förutsägbar.

Vad är typavsmalning
Vad är typavsmalning?
Typavsmalning är processen att förfina en bredare typ (till exempel string | number) till en mer specifik typ med hjälp av kontroller under körning.
Använda <code>typeof</code> för typavsmalning
Operatorn typeof kan användas för att avgränsa primitiva typer:
function printValue(value: string | number): void {
if (typeof value === 'string') {
console.log(`String: ${value}`);
} else {
console.log(`Number: ${value}`);
}
}
printValue('Hello'); // String: Hello
printValue(42); // Number: 42Använda <code>instanceof</code> för typavsmalning
Operatorn instanceof kan användas för att avgränsa klassinstanser:
class Dog {
bark() {
console.log('Woof!');
}
}
class Cat {
meow() {
console.log('Meow!');
}
}
function makeSound(animal: Dog | Cat): void {
if (animal instanceof Dog) {
animal.bark();
} else {
animal.meow();
}
}
makeSound(new Dog()); // Woof!
makeSound(new Cat()); // Meow!Använda anpassade type guards
Ni kan skapa anpassade type guard-funktioner för att avgränsa typer mer exakt:
type Fish = { swim: () => void };
type Bird = { fly: () => void };
declare const animal: Fish | Bird;
function isFish(animal: Fish | Bird): animal is Fish {
return (animal as Fish).swim !== undefined;
}
if (isFish(animal)) {
animal.swim();
} else {
animal.fly();Kontrollflödesanalys
TypeScripts kontrollflödesanalys avgränsar automatiskt typer utifrån det logiska flödet i Er kod:
function getLength(value: string | string[]): number {
if (Array.isArray(value)) {
return value.length;
} else {
return value.length;
}
}
console.log(getLength('Hello')); // 5
console.log(getLength(['a', 'b', 'c'])); // 3Fördelar med avancerad typavsmalning
Avancerad typavsmalning förbättrar Er kod genom att:
- Minska antalet fel under körning.
- Göra koden säkrare och lättare att förstå.
- Ge exakt kontroll över typhanteringen.
Övningsuppgift
Skapa en funktion som tar emot en parameter av typen string | number och loggar ett annat meddelande för varje typ. Använd typeof för att implementera logiken.
Grattis
Grattis!
Ni har lärt Er att använda avancerade tekniker för typavsmalning i TypeScript för att förfina och hantera komplexa typer på ett säkert och effektivt sätt. Öva på dessa tekniker för att göra Er kod robustare och typsäkrare!

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 ”Avancerad typförfining” gratis?
Ja – hela texten till ”Avancerad typförfining” 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 3 lektioner.
Vad lär jag mig i ”Avancerad typförfining”?
Lär dig använda avancerade typvakter och kontrollflödesanalys för att enkelt hantera komplexa typvillkor. 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 1 av 3.
Hur lång tid tar lektionen ”Avancerad typförfining”?
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
- Avancerad typförfining
- Avancerade klassfunktioner
- Villkorstyper