TypeScript Academy · Lektion

Generiska typer

Lär dig skapa återanvändbara komponenter med generiska typer

Lektion 1 av 410 steg

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!

Generiska typer — illustration 1

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!

Generiska typer — illustration 10
Gratis att börja

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

  1. Generiska typer
  2. Typalias och gränssnitt
  3. Hjälptyper
  4. Typvakter
← Tillbaka till TypeScript Academy