Middle+
Welk type overerving wordt gebruikt in JavaScript? Is er meervoudige overerving bij klassen?
sobes.tech AI
Antwoord van AI
In JavaScript wordt prototypisch erfelijkheid gebruikt, en met de komst van classes (ES6) — syntactisch suiker boven de prototypes. Classes in JS ondersteunen enkelvoudige erfelijkheid, dat wil zeggen dat een class slechts van één ouder kan erven.
Meervoudige erfelijkheid in JavaScript classes bestaat niet, maar je kunt mixins gebruiken — functies die methoden toevoegen aan een class om meervoudige erfelijkheid te imiteren.
Voorbeeld van enkelvoudige erfelijkheid:
class Animal {
speak() {
console.log('Dieren geluid');
}
}
class Dog extends Animal {
speak() {
console.log('Woef!');
}
}
const dog = new Dog();
dog.speak(); // Woef!
Voorbeeld van een mixin:
const CanFly = Base => class extends Base {
fly() {
console.log('Vliegen');
}
};
class Bird {}
class Eagle extends CanFly(Bird) {}
const eagle = new Eagle();
eagle.fly(); // Vliegen