Gebruik van hasOwnProperty() om Objecteigenschappen te Controleren
Bij het itereren door de eigenschappen van een object met behulp van de for...in-lus, is het belangrijk om onderscheid te maken tussen de eigen eigenschappen van het object en eigenschappen die zijn geërfd van het prototype.
In JavaScript kunnen sommige eigenschappen tijdens het itereren verschijnen, zelfs als ze niet direct op het object zijn gedefinieerd. Dit komt doordat objecten eigenschappen kunnen erven van andere objecten.
De methode hasOwnProperty() helpt ons ervoor te zorgen dat we alleen werken met de eigenschappen die direct tot het object behoren.
Uitleg van hasOwnProperty()
De methode hasOwnProperty() is een ingebouwde JavaScript-methode die controleert of een eigenschap direct op een object bestaat. Het retourneert een Booleaanse waarde (true of false).
Syntax
object.hasOwnProperty(property)
object: het object dat u wilt controleren;property: de naam van de eigenschap waarnaar u zoekt.
Waarom hasOwnProperty() nuttig is
Bekijk het volgende voorbeeld:
12345678910const baseExercise = { category: "Strength", }; const exercise = Object.create(baseExercise); exercise.name = "Deadlift"; for (let key in exercise) { console.log(key); }
Hoewel category niet direct op exercise is gedefinieerd, verschijnt het toch in de lus. Daarom is een extra controle noodzakelijk.
Gebruik van hasOwnProperty() met for...in
Door for...in te combineren met hasOwnProperty(), is het mogelijk om uitsluitend over de eigen eigenschappen van het object te itereren.
12345678910111213const exercise = { name: "Deadlift", primaryMusclesWorked: "Erector spinae", equipment: "Barbell", exerciseType: "Strength", difficulty: "Intermediate", }; for (let key in exercise) { if (exercise.hasOwnProperty(key)) { console.log(`Property: ${key}, Value: ${exercise[key]}`); } }
Deze controle zorgt ervoor dat geërfde eigenschappen worden genegeerd, waardoor uw code voorspelbaarder en veiliger wordt.
1. Wat is het primaire doel van de methode hasOwnProperty()?
2. Welk type waarde retourneert de methode hasOwnProperty()?
3. Waarom is het belangrijk om bij gebruik van hasOwnProperty() met de for...in-lus te controleren op eigen eigenschappen?
4. Wat wordt er gelogd bij het itereren door de eigenschappen van het video-object in onderstaande code?
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Geweldig!
Completion tarief verbeterd naar 2.27
Gebruik van hasOwnProperty() om Objecteigenschappen te Controleren
Veeg om het menu te tonen
Bij het itereren door de eigenschappen van een object met behulp van de for...in-lus, is het belangrijk om onderscheid te maken tussen de eigen eigenschappen van het object en eigenschappen die zijn geërfd van het prototype.
In JavaScript kunnen sommige eigenschappen tijdens het itereren verschijnen, zelfs als ze niet direct op het object zijn gedefinieerd. Dit komt doordat objecten eigenschappen kunnen erven van andere objecten.
De methode hasOwnProperty() helpt ons ervoor te zorgen dat we alleen werken met de eigenschappen die direct tot het object behoren.
Uitleg van hasOwnProperty()
De methode hasOwnProperty() is een ingebouwde JavaScript-methode die controleert of een eigenschap direct op een object bestaat. Het retourneert een Booleaanse waarde (true of false).
Syntax
object.hasOwnProperty(property)
object: het object dat u wilt controleren;property: de naam van de eigenschap waarnaar u zoekt.
Waarom hasOwnProperty() nuttig is
Bekijk het volgende voorbeeld:
12345678910const baseExercise = { category: "Strength", }; const exercise = Object.create(baseExercise); exercise.name = "Deadlift"; for (let key in exercise) { console.log(key); }
Hoewel category niet direct op exercise is gedefinieerd, verschijnt het toch in de lus. Daarom is een extra controle noodzakelijk.
Gebruik van hasOwnProperty() met for...in
Door for...in te combineren met hasOwnProperty(), is het mogelijk om uitsluitend over de eigen eigenschappen van het object te itereren.
12345678910111213const exercise = { name: "Deadlift", primaryMusclesWorked: "Erector spinae", equipment: "Barbell", exerciseType: "Strength", difficulty: "Intermediate", }; for (let key in exercise) { if (exercise.hasOwnProperty(key)) { console.log(`Property: ${key}, Value: ${exercise[key]}`); } }
Deze controle zorgt ervoor dat geërfde eigenschappen worden genegeerd, waardoor uw code voorspelbaarder en veiliger wordt.
1. Wat is het primaire doel van de methode hasOwnProperty()?
2. Welk type waarde retourneert de methode hasOwnProperty()?
3. Waarom is het belangrijk om bij gebruik van hasOwnProperty() met de for...in-lus te controleren op eigen eigenschappen?
4. Wat wordt er gelogd bij het itereren door de eigenschappen van het video-object in onderstaande code?
Bedankt voor je feedback!