De prototypeketen en de basis van eigen eigenschappen
Leer de basis van de prototypeketen; controleer eigen en overgeërfde eigenschappen; gebruik Object.create en stel eenvoudige descriptors in
De prototypeketen en de basis van eigen eigenschappen is een gratis JavaScript Academy-les op CoddyKit. Dit is les 1 van 2. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject JavaScript Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus JavaScript Academy bevat in totaal 2 lessen.
Introductie tot prototypes
Doel: Bekijk hoe objecten overerven via de prototypeketen en hoe je eigen en overgeërfde sleutels van elkaar onderscheidt.
- Prototypeketen
- hasOwn versus in
- Object.create
- Basisprincipes van descriptors

Opzoeken in het prototype
Als een sleutel niet op het object wordt gevonden, kijkt JavaScript in zijn prototype (bijvoorbeeld 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);

Eigen versus overgeërfd
Object.hasOwn(obj, key) geeft alleen voor eigen sleutels true terug. "key" in obj omvat ook overgeërfde sleutels.
// 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"));

Basisprincipes van Object.create
Object.create(proto) maakt een object dat van proto erft.
// 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"));

Descriptors (beknopt)
Met Object.defineProperty kun je eigenschappen zoals writable en enumerable instellen voor een sleutel.
// 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));

Tips en checklist
Tips:
- Gebruik Object.hasOwn(obj, key) om eigen sleutels te controleren.
- Gebruik bij voorkeur Object.create(proto) om kleine prototypes te maken.
- Houd het gebruik van descriptors in het begin beperkt; standaardwaarden volstaan.

Controle over eigen versus overgeërfde sleutels
Korte controle: Controle op een eigen eigenschap.

Herhaling
Herhaling: De engine zoekt ontbrekende sleutels op in het prototype. Gebruik hasOwn alleen voor eigen sleutels, Object.create om een prototype in te stellen en descriptors om basisvlaggen te beheren.

Leer JavaScript met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 59
- Lessen
- 200
Veelgestelde vragen
Is de les “De prototypeketen en de basis van eigen eigenschappen” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad JavaScript Academy, waaronder “De prototypeketen en de basis van eigen eigenschappen”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus JavaScript Academy bevat in totaal 2 lessen.
Wat leer ik in “De prototypeketen en de basis van eigen eigenschappen”?
Leer de basis van de prototypeketen; controleer eigen en overgeërfde eigenschappen; gebruik Object.create en stel eenvoudige descriptors in Je oefent met JavaScript Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met JavaScript Academy te beginnen?
Ervaring vooraf is niet nodig. JavaScript Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 2.
Hoe lang duurt de les “De prototypeketen en de basis van eigen eigenschappen”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over JavaScript Academy?
Ja. Elke les over JavaScript Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- De prototypeketen en de basis van eigen eigenschappen
- Klassen syntaxis (vooruitblik): constructor, methoden, static en extends