TypeScript Academy · Les

Interfaces uitbreiden en samenvoegen

Breid interfaces uit en begrijp declaration merging.

Les 3 van 413 stappen

Interfaces uitbreiden en samenvoegen is een gratis TypeScript Academy-les op CoddyKit. Dit is les 3 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject TypeScript Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus TypeScript Academy bevat in totaal 4 lessen.

Welkom

Interfaces kunnen andere interfaces uitbreiden om voort te bouwen op bestaande structuren, en TypeScript voegt meerdere declaraties van dezelfde interface automatisch samen.

Een interface uitbreiden

Gebruik het trefwoord `extends` om een nieuwe interface te maken die alle eigenschappen van de bovenliggende interface bevat.
interface Animal { name: string; }
interface Dog extends Animal {
  breed: string;
}
const rex: Dog = { name: 'Rex', breed: 'Labrador' };

Meerdere interfaces uitbreiden

Een interface kan meerdere interfaces tegelijk uitbreiden en al hun eigenschappen combineren.
interface Flyable { fly(): void; }
interface Swimmable { swim(): void; }
interface Duck extends Flyable, Swimmable {
  quack(): void;
}

Eigenschappen overschrijven bij uitbreiding

Een uitgebreide interface kan een eigenschap van de bovenliggende interface overschrijven, maar het nieuwe type moet toewijsbaar zijn aan het type van de bovenliggende interface.
interface Base { value: string | number; }
interface Derived extends Base { value: string; } // OK — string is narrower
// interface Bad extends Base { value: boolean; } // Error

Declaraties samenvoegen

Wanneer je twee interfaces met dezelfde naam declareert, voegt TypeScript ze samen tot één interface met alle eigenschappen.
interface Window { title: string; }
interface Window { location: Location; }
// Merged: Window has both title and location

Bibliotheektypen uitbreiden

Declaraties samenvoegen wordt gebruikt om typen van bibliotheken van derden uit te breiden. Je kunt bijvoorbeeld eigenschappen toevoegen aan de Request-interface van Express.
// express.d.ts
declare namespace Express {
  interface Request {
    user?: User;
  }
}

Een type-alias uitbreiden met een interface

Een interface kan een type-alias uitbreiden zolang de alias een objecttype is.
type Named = { name: string };
interface User extends Named { email: string; }

Geneste uitbreidingsketens

Uitbreidingsketens kunnen meerdere niveaus diep zijn.
interface A { a: number; }
interface B extends A { b: number; }
interface C extends B { c: number; }
const obj: C = { a: 1, b: 2, c: 3 };

extends versus implements

`extends` is bedoeld voor overerving van interface naar interface of van klasse naar klasse. `implements` zorgt ervoor dat een klasse aan een interfacecontract voldoet.
interface Serializable { serialize(): string; }
class Model implements Serializable {
  serialize() { return JSON.stringify(this); }
}

Samenvoegen voegt toe aan alle toepassingen

Wanneer interfaces worden samengevoegd, krijgen alle bestaande code die die interface gebruikt automatisch de nieuwe eigenschappen. Daarom werkt uitbreiding van bibliotheken.

Samenvoegen versus uitbreiden: wanneer gebruik je welke optie

Gebruik `extends` om een nieuwe interface te maken op basis van een bestaande. Gebruik samenvoegen (dezelfde naam) om vanuit een afzonderlijk bestand iets aan een interface toe te voegen, bijvoorbeeld bij uitbreiding.

Korte controle

Met welke functie van TypeScript kun je eigenschappen toevoegen aan een interface uit een bibliotheek van derden?

Samenvatting

Interfaces breiden andere interfaces uit met `extends` en combineren zo hun structuren. Door declaraties samen te voegen worden interfaces met dezelfde naam automatisch gecombineerd. Zo kun je bibliotheken uitbreiden zonder code van derden aan te passen.
Gratis beginnen

Leer TypeScript met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
101
Lessen
352

Veelgestelde vragen

Is de les “Interfaces uitbreiden en samenvoegen” gratis?

Ja — de volledige tekst van “Interfaces uitbreiden en samenvoegen” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus TypeScript Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus TypeScript Academy bevat in totaal 4 lessen.

Wat leer ik in “Interfaces uitbreiden en samenvoegen”?

Breid interfaces uit en begrijp declaration merging. Je oefent met TypeScript Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met TypeScript Academy te beginnen?

Ervaring vooraf is niet nodig. TypeScript Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.

Hoe lang duurt de les “Interfaces uitbreiden en samenvoegen”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over TypeScript Academy?

Ja. Elke les over TypeScript Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Objectstructuren definiëren met interfaces
  2. Type-aliases voor complexe typen
  3. Interfaces uitbreiden en samenvoegen
  4. Interface versus type: wanneer gebruikt u welke
← Terug naar TypeScript Academy