Cadeia de protótipos e fundamentos das propriedades próprias
Conheça os fundamentos da cadeia de protótipos; verifique propriedades próprias e herdadas; use Object.create e defina descritores simples
Cadeia de protótipos e fundamentos das propriedades próprias é uma aula grátis de JavaScript Academy no CoddyKit. Esta é a aula 1 de 2. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de JavaScript Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de JavaScript Academy inclui 2 aulas no total.
Introdução aos protótipos
Objetivo: Veja como os objetos herdam por meio da cadeia de protótipos e como distinguir chaves próprias de herdadas.
- Cadeia de protótipos
- hasOwn vs in
- Object.create
- Descritores básicos

Consulta de protótipo
Se uma chave não for encontrada no objeto, JavaScript procura no seu protótipo (por exemplo, Object.prototype).
// A simple object
const user = { name: "Ayla" };
// The prototype is another object used for fallback lookups
const proto = Object.getPrototypeOf(user);
console.log("name:", user.name);
console.log("has toString?", typeof user.toString === "function");
console.log("proto same as Object.prototype?", proto === Object.prototype);

Próprias vs herdadas
Object.hasOwn(obj, key) retorna true somente para chaves próprias. "key" in obj inclui as herdadas.
// Own vs inherited checks
const point = { x: 1 };
// "in" sees own or inherited
console.log("x in point:", "x" in point);
console.log("toString in point:", "toString" in point);
// Only own keys
console.log("hasOwn x:", Object.hasOwn(point, "x"));
console.log("hasOwn toString:", Object.hasOwn(point, "toString"));

Noções básicas de Object.create
Object.create(proto) cria um objeto que herda de proto.
// Use Object.create to set a prototype
const animal = { kind: "animal" };
// pet inherits from animal
const pet = Object.create(animal);
pet.name = "Milo";
console.log("pet name:", pet.name);
console.log("pet kind (inherited):", pet.kind);
console.log("hasOwn kind?", Object.hasOwn(pet, "kind"));

Descritores (introdução)
Object.defineProperty pode definir sinalizadores como gravável e enumerável para uma chave.
// Define simple descriptors
const prefs = {};
Object.defineProperty(prefs, "theme", {
value: "dark",
writable: false,
enumerable: true
});
// Try to change (silently fails in non-strict)
prefs.theme = "light";
console.log("theme:", prefs.theme);
// List keys: theme is enumerable
console.log("keys:", Object.keys(prefs));

Dicas e lista de verificação
Dicas:
- Use Object.hasOwn(obj, key) para testar chaves próprias.
- Prefira Object.create(proto) para criar protótipos pequenos.
- No início, use os descritores com moderação; os valores padrão são suficientes.

Questionário sobre propriedades próprias e herdadas
Verificação rápida: teste de propriedade própria.

Recapitulação
Recapitulação: O mecanismo procura chaves ausentes no protótipo. Use hasOwn somente para chaves próprias, Object.create para definir um protótipo e descritores para controlar sinalizadores básicos.

Perguntas Frequentes
A aula “Cadeia de protótipos e fundamentos das propriedades próprias” é grátis?
Sim — o texto completo de “Cadeia de protótipos e fundamentos das propriedades próprias” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de JavaScript Academy, atualize para CoddyKit PRO. O curso de JavaScript Academy inclui 2 aulas no total.
O que vou aprender em “Cadeia de protótipos e fundamentos das propriedades próprias”?
Conheça os fundamentos da cadeia de protótipos; verifique propriedades próprias e herdadas; use Object.create e defina descritores simples Você pratica JavaScript Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar JavaScript Academy?
Nenhuma experiência prévia é necessária. JavaScript Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 2.
Quanto tempo leva a aula “Cadeia de protótipos e fundamentos das propriedades próprias”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de JavaScript Academy?
Sim. Cada aula de JavaScript Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Cadeia de protótipos e fundamentos das propriedades próprias
- Sintaxe de classes (prévia): construtor, métodos, estático e extends