JavaScript · Intermediário · Português · Técnico
cadeia de protótipos
Sequência de objetos ligados por protótipo, percorrida na busca de uma propriedade: do próprio objeto até Object.prototype, e então null, onde a busca termina.
Onde usar
Explica por que todo objeto tem toString e por que métodos aparecem sem terem sido definidos. Em code review, ajuda a entender sobrescrita de métodos e shadowing.
Em código
const a = { x: 1 };
const b = Object.create(a);
b.y = 2;
console.log(b.x); // 1, via cadeia
console.log(Object.hasOwn(b, 'x')); // false
console.log(Object.getPrototypeOf(b) === a);Exemplos
A busca sobe pela cadeia de protótipos até achar o método.
No fim da cadeia de protótipos está o null.
Cuidado
Achar que a cadeia é copiada: ela é consultada em tempo de execução, então mudar um protótipo afeta todos os descendentes.
Sinônimos
prototype chain