Senior
Vertel over de functie super() en wanneer je deze gebruikt?
sobes.tech AI
Antwoord van AI
De functie super() wordt in klassen gebruikt om de constructor van de ouderklasse of de methoden van de ouder aan te roepen.
Het wordt in twee hoofdgevallen toegepast:
-
In de constructor van een subclass om de constructor van de basisklasse aan te roepen en een correcte initialisatie van de geërfde eigenschappen.
-
Om de methoden van de ouder aan te roepen, als je gedrag wilt uitbreiden of overschrijven, maar een deel van de logica van de basisklasse wilt behouden.
Voorbeeld:
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(`${this.name} maakt een geluid.`);
}
}
class Dog extends Animal {
constructor(name, breed) {
super(name); // aanroep van de constructor van Animal
this.breed = breed;
}
speak() {
super.speak(); // aanroep van de speak-methode van Animal
console.log(`${this.name} blaft.`);
}
}
Zonder het aanroepen van super() in de constructor van de subclass, zal er een fout optreden omdat de basisklasse niet geïnitialiseerd is.