Hoe is het prototypensysteem in JavaScript opgebouwd?
sobes.tech AI
Antwoord van AI
In JavaScript is het prototypensysteem een mechanisme van overerving waarbij objecten eigenschappen en methoden kunnen erven van andere objecten.
Elk object heeft een interne eigenschap [[Prototype]] (toegankelijk via __proto__ of Object.getPrototypeOf), die wijst naar een ander object — het prototype. Als een eigenschap niet wordt gevonden bij het benaderen van een object, wordt er gezocht in het prototype, vervolgens in het prototype van dat prototype, enzovoort, totdat null wordt bereikt.
Dit maakt het mogelijk om ketens van prototypes te creëren en overerving zonder klassen te implementeren (hoewel in moderne versies van JS er syntax voor klassen is, die onder de motorkap prototypes gebruikt).
Voorbeeld:
const dier = {
speak() {
console.log('Dier spreekt');
}
};
const hond = Object.create(dier);
hond.bark = function() {
console.log('Woef!');
};
hond.bark(); // Woef!
hond.speak(); // Dier spreekt (geërfd van dier)
Zo maken prototypes het mogelijk voor objecten om gedrag en eigenschappen te delen, wat de basis vormt van objectgeoriënteerd programmeren in JavaScript.