TypeScript Academy · Lektion

TypeScript-klasser och konstruktorer

Definiera klasser med typade egenskaper och konstruktorer

Lektion 1 av 413 steg

TypeScript-klasser och konstruktorer ä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.

Välkommen

TypeScript-klasser är JavaScript-klasser med typannoteringar. De kombinerar data och beteende i en typad, objektorienterad struktur.

Klassdeklaration med egenskaper

Deklarera klassegenskaper högst upp i klassen och ange deras typer. TypeScript kontrollerar all användning av dem.
class Person {
  name: string;
  age: number;

  constructor(name: string, age: number) {
    this.name = name;
    this.age = age;
  }
}

Kortform för parameter-egenskaper

Sätt en åtkomstmodifierare framför konstruktorparametrar för att automatiskt skapa och initiera en klassegenskap.
class Person {
  constructor(
    public name: string,
    private age: number
  ) {} // properties created automatically
}

Typade metoder

Klassmetoder använder samma parameter- och returtypsannoteringar som vanliga funktioner.
class Calculator {
  add(a: number, b: number): number {
    return a + b;
  }
}

Getters och setters

Använd nyckelorden get och set för att skapa beräknade egenskaper. TypeScript kontrollerar deras typer.
class Circle {
  constructor(private radius: number) {}
  get area(): number { return Math.PI * this.radius ** 2; }
  set r(v: number) { this.radius = v; }
}

Klass som typ

En klass definierar både ett värde (konstruktorfunktionen) och en typ (instansens struktur). Använd klassens namn som typannotering.
class Dog { name = 'Rex'; bark() { return 'Woof'; } }
const d: Dog = new Dog();

Statiska medlemmar

Statiska egenskaper och metoder tillhör själva klassen, inte instanserna. Du når dem via klassens namn.
class MathHelper {
  static PI = 3.14159;
  static square(n: number): number { return n * n; }
}
console.log(MathHelper.PI);

Klassarv

Använd `extends` för att ärva från en basklass. Anropa `super()` i konstruktorn för att initiera den överordnade klassen.
class Animal {
  constructor(public name: string) {}
  speak(): string { return '...'; }
}
class Dog extends Animal {
  speak(): string { return 'Woof!'; }
}

Abstrakta klasser

Abstrakta klasser kan inte instansieras. De definierar ett kontrakt som underklasser måste implementera.
abstract class Shape {
  abstract area(): number;
  describe(): string { return `Area: ${this.area()}`; }
}
class Square extends Shape {
  constructor(private side: number) { super(); }
  area() { return this.side ** 2; }
}

Typen this i klasser

Typen `this` syftar på den aktuella instanstypen och möjliggör fluent- och builder-API:er med korrekta returtyper.
class Builder {
  private parts: string[] = [];
  add(p: string): this { this.parts.push(p); return this; }
  build(): string { return this.parts.join(','); }
}

Klass jämfört med gränssnitt och typ

Klasser är körbara värden med konstruktorer. Gränssnitt och typalias är enbart typer vid kompilering. Använd klasser när du behöver instansiering och metoder.

Snabb kontroll

Vad blir effekten av att sätta `public` framför en konstruktorparameter i TypeScript?

Sammanfattning

TypeScript-klasser lägger till typer i JavaScript-klasser. Använd parametrar som egenskaper för kortfattade deklarationer, åtkomstmodifierare för inkapsling och abstrakta klasser för att framtvinga kontrakt för underklasser.
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 ”TypeScript-klasser och konstruktorer” gratis?

Ja – hela texten till ”TypeScript-klasser och konstruktorer” 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 ”TypeScript-klasser och konstruktorer”?

Definiera klasser med typade egenskaper och konstruktorer 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 ”TypeScript-klasser och konstruktorer”?

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. TypeScript-klasser och konstruktorer
  2. Modifierarna public, private och protected
  3. readonly-egenskaper och parameter-egenskaper
  4. Implementera interface med klasser
← Tillbaka till TypeScript Academy