Como funciona o sistema de protótipos em JavaScript?
sobes.tech IA
Resposta da IA
No JavaScript, o sistema de protótipos é um mecanismo de herança no qual os objetos podem herdar propriedades e métodos de outros objetos.
Cada objeto tem uma propriedade interna [[Prototype]] (acessível através de __proto__ ou Object.getPrototypeOf), que aponta para outro objeto — o protótipo. Se ao aceder a uma propriedade do objeto ela não for encontrada, a busca continua no protótipo, depois no protótipo do protótipo, e assim por diante, até atingir null.
Isto permite criar cadeias de protótipos e implementar herança sem classes (embora nas versões modernas do JS exista a sintaxe de classes, que por baixo dos panos usa protótipos).
Exemplo:
const animal = {
speak() {
console.log('O animal fala');
}
};
const cão = Object.create(animal);
cão.bark = function() {
console.log('Au!');
};
cão.bark(); // Au!
cão.speak(); // O animal fala (herdado de animal)
Assim, os protótipos permitem que os objetos partilhem comportamentos e propriedades, o que é fundamental na programação orientada a objetos em JavaScript.