Generiska typer
Lär dig skapa återanvändbara komponenter med generiska typer
Generiska typer är en gratis lektion i TypeScript Academy på CoddyKit. Detta är lektion 1 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.
Introduktion till generics
Generics
Välkommen till nästa lektion! I den här lektionen får du lära dig om generics, en kraftfull funktion i TypeScript som låter dig skapa återanvändbara och typsäkra komponenter. Nu sätter vi igång!

Vad är generics?
Med generics kan du skriva återanvändbar kod som fungerar med alla typer. De fungerar som platshållare för typer som du kan ange när du använder dem.
Exempel: En generisk funktion:
Uppgift: Skriv en generisk funktion som tar ett argument och returnerar det oförändrat.
function identity<T>(value: T): T {
return value;
}
console.log(identity<string>("Hello"));
// Output: Hello
console.log(identity<number>(42));
// Output: 42
Varför använda generics?
Generics hjälper dig att:
- Skriva återanvändbar kod: Funktioner och klasser kan fungera med olika typer.
- Säkerställa typsäkerhet: Du kan kräva specifika typer utan att göra avkall på flexibiliteten.
- Minska upprepning: Undvik att skriva separata versioner av samma funktion eller klass för olika typer.
Tips: Använd generics för att skriva mer flexibel och lättunderhållen kod.
Generiska funktioner
Du kan använda generics för att skapa flexibla funktioner. Exempel:
Uppgift: Skriv en generisk funktion som sammanfogar två objekt och returnerar resultatet.
function merge<T, U>(obj1: T, obj2: U): T & U {
return { ...obj1, ...obj2 };
}
let merged = merge({ name: "Alice" }, { age: 25 });
console.log(merged);
// Output: { name: "Alice", age: 25 }
Generiska klasser
Generics kan användas i klasser för att göra dem återanvändbara med olika typer. Exempel:
class Box<T> {
private contents: T;
constructor(contents: T) {
this.contents = contents;
}
getContents(): T {
return this.contents;
}
}
let stringBox = new Box<string>("Hello");
console.log(stringBox.getContents());
// Output: Hello
let numberBox = new Box<number>(42);
console.log(numberBox.getContents());
// Output: 42
Generiska gränssnitt
Gränssnitt kan också använda generics för att säkerställa strukturen för olika typer. Exempel:
Uppgift: Definiera ett generiskt gränssnitt och skapa ett objekt som implementerar det.
interface Pair<T, U> {
first: T;
second: U;
}
let coordinates: Pair<number, number> = { first: 10, second: 20 };
console.log(coordinates);
// Output: { first: 10, second: 20 }
Begränsningar för generics
Du kan lägga till begränsningar för generics för att säkerställa att de endast fungerar med specifika typer. Exempel:
function printLength<T extends { length: number }>(item: T): void {
console.log(`Length: ${item.length}`);
}
printLength("Hello");
// Output: Length: 5
printLength([1, 2, 3]);
// Output: Length: 3
// printLength(42);
// Error: Argument of type 'number' is not assignable to parameter of type '{ length: number }'.
Standardtyper för generics
Du kan ange standardtyper för generics om ingen typ anges. Exempel:
Uppgift: Skapa en generisk funktion med en standardtyp och testa den med olika typer.
function wrap<T = string>(value: T): T[] {
return [value];
}
console.log(wrap("Hello")); // Output: ["Hello"]
console.log(wrap(42)); // Output: [42]
Bra jobbat!
Grattis! Du har lärt dig att använda generics i TypeScript för att skapa återanvändbara och typsäkra funktioner, klasser och gränssnitt. Generics är ett kraftfullt verktyg för att skriva flexibel och skalbar kod. I nästa lektion utforskar vi avancerade typer, till exempel mappade och villkorliga typer. Låt oss fortsätta 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 ”Generiska typer” gratis?
Ja – hela texten till ”Generiska typer” 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 ”Generiska typer”?
Lär dig skapa återanvändbara komponenter med generiska 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 1 av 4.
Hur lång tid tar lektionen ”Generiska typer”?
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
- Generiska typer
- Typalias och gränssnitt
- Hjälptyper
- Typvakter