Come funziona il sistema dei prototipi in JavaScript?
sobes.tech AI
Risposta dell'AI
In JavaScript, il sistema di prototipi è un meccanismo di ereditarietà in cui gli oggetti possono ereditare proprietà e metodi da altri oggetti.
Ogni oggetto ha una proprietà interna [[Prototype]] (accessibile tramite __proto__ o Object.getPrototypeOf), che punta a un altro oggetto — il prototipo. Se una proprietà non viene trovata durante l'accesso a un oggetto, la ricerca continua nel prototipo, poi nel prototipo del prototipo, e così via, fino a raggiungere null.
Questo permette di creare catene di prototipi e di implementare l'ereditarietà senza classi (anche se nelle versioni moderne di JS esiste la sintassi delle classi, che utilizza sotto il cofano i prototipi).
Esempio:
const animal = {
speak() {
console.log('L'animale parla');
}
};
const cane = Object.create(animal);
cane.bark = function() {
console.log('Woof!');
};
cane.bark(); // Woof!
cane.speak(); // L'animale parla (eredato da animal)
In questo modo, i prototipi permettono agli oggetti di condividere comportamenti e proprietà, che costituiscono la base della programmazione orientata agli oggetti in JavaScript.