Catena dei prototipi e basi delle proprietà proprie
Impari le basi della catena dei prototipi; verifichi le proprietà proprie e quelle ereditate; usi Object.create e imposti semplici descrittori.
Catena dei prototipi e basi delle proprietà proprie è una lezione JavaScript Academy gratuita su CoddyKit. Questa è la lezione 1 di 2. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento JavaScript Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso JavaScript Academy include 2 lezioni in totale.
Introduzione ai prototipi
Obiettivo: Vedere come gli oggetti ereditano attraverso la catena dei prototipi e come distinguere le chiavi proprie da quelle ereditate.
- Catena dei prototipi
- hasOwn e in
- Object.create
- Descrittori di base

Ricerca nel prototipo
Se una chiave non viene trovata nell'oggetto, JavaScript cerca nel suo prototipo (ad esempio, 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);

Proprie o ereditate
Object.hasOwn(obj, key) restituisce true solo per le chiavi proprie. "key" in obj include anche quelle ereditate.
// 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"));

Fondamenti di Object.create
Object.create(proto) crea un oggetto che eredita da 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"));

Descrittori (introduzione)
Object.defineProperty può impostare flag come writable ed enumerable per una chiave.
// 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));

Suggerimenti e checklist
Suggerimenti:
- Utilizzi Object.hasOwn(obj, key) per verificare le chiavi proprie.
- Preferisca Object.create(proto) per creare piccoli prototipi.
- All'inizio mantenga al minimo l'uso dei descrittori: i valori predefiniti sono sufficienti.

Quiz sulle proprietà proprie ed ereditate
Controllo rapido: verifica di una proprietà propria.

Riepilogo
Riepilogo: Il motore cerca le chiavi mancanti nel prototipo. Utilizzi hasOwn solo per le chiavi proprie, Object.create per impostare un prototipo e i descrittori per controllare i flag di base.

Domande Frequenti
La lezione «Catena dei prototipi e basi delle proprietà proprie» è gratuita?
Sì — il testo completo di «Catena dei prototipi e basi delle proprietà proprie» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso JavaScript Academy, passa a CoddyKit PRO. Il corso JavaScript Academy include 2 lezioni in totale.
Cosa imparerò in «Catena dei prototipi e basi delle proprietà proprie»?
Impari le basi della catena dei prototipi; verifichi le proprietà proprie e quelle ereditate; usi Object.create e imposti semplici descrittori. Eserciti JavaScript Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare JavaScript Academy?
Non è richiesta alcuna esperienza precedente. JavaScript Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 2.
Quanto tempo richiede la lezione «Catena dei prototipi e basi delle proprietà proprie»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione JavaScript Academy?
Sì. Ogni lezione JavaScript Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Catena dei prototipi e basi delle proprietà proprie
- Sintassi delle classi (anteprima): constructor, metodi, static, extends