Använda hasOwnProperty() för att Kontrollera Objektets Egenskaper
När du itererar genom ett objekts egenskaper med hjälp av for...in-loopen är det viktigt att skilja mellan objektets egna egenskaper och egenskaper som ärvs från dess prototyp.
I JavaScript kan vissa egenskaper visas under iteration även om de inte är definierade direkt på objektet. Detta sker eftersom objekt kan ärva egenskaper från andra objekt.
Metoden hasOwnProperty() hjälper oss att säkerställa att vi endast arbetar med de egenskaper som tillhör objektet direkt.
Förstå hasOwnProperty()
Metoden hasOwnProperty() är en inbyggd JavaScript-metod som kontrollerar om en egenskap finns direkt på ett objekt. Den returnerar ett Boolean-värde (true eller false).
Syntax
object.hasOwnProperty(property)
object: objektet du vill kontrollera;property: namnet på egenskapen du söker efter.
Varför hasOwnProperty() är användbar
Tänk på följande exempel:
12345678910const baseExercise = { category: "Strength", }; const exercise = Object.create(baseExercise); exercise.name = "Deadlift"; for (let key in exercise) { console.log(key); }
Även om category inte definierades direkt på exercise, visas det i loopen. Därför behövs en ytterligare kontroll.
Använda hasOwnProperty() med for...in
Genom att kombinera for...in med hasOwnProperty() kan du säkert iterera endast över objektets egna egenskaper.
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]}`); } }
Denna kontroll säkerställer att ärvda egenskaper ignoreras, vilket gör din kod mer förutsägbar och säker.
1. Vad är det primära syftet med metoden hasOwnProperty()?
2. Vilken typ av värde returnerar metoden hasOwnProperty()?
3. Varför är det viktigt att kontrollera egna egenskaper med hasOwnProperty() i en for...in-loop?
4. Vad kommer att loggas när man itererar genom video-objektets egenskaper i koden nedan?
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Fantastiskt!
Completion betyg förbättrat till 2.27
Använda hasOwnProperty() för att Kontrollera Objektets Egenskaper
Svep för att visa menyn
När du itererar genom ett objekts egenskaper med hjälp av for...in-loopen är det viktigt att skilja mellan objektets egna egenskaper och egenskaper som ärvs från dess prototyp.
I JavaScript kan vissa egenskaper visas under iteration även om de inte är definierade direkt på objektet. Detta sker eftersom objekt kan ärva egenskaper från andra objekt.
Metoden hasOwnProperty() hjälper oss att säkerställa att vi endast arbetar med de egenskaper som tillhör objektet direkt.
Förstå hasOwnProperty()
Metoden hasOwnProperty() är en inbyggd JavaScript-metod som kontrollerar om en egenskap finns direkt på ett objekt. Den returnerar ett Boolean-värde (true eller false).
Syntax
object.hasOwnProperty(property)
object: objektet du vill kontrollera;property: namnet på egenskapen du söker efter.
Varför hasOwnProperty() är användbar
Tänk på följande exempel:
12345678910const baseExercise = { category: "Strength", }; const exercise = Object.create(baseExercise); exercise.name = "Deadlift"; for (let key in exercise) { console.log(key); }
Även om category inte definierades direkt på exercise, visas det i loopen. Därför behövs en ytterligare kontroll.
Använda hasOwnProperty() med for...in
Genom att kombinera for...in med hasOwnProperty() kan du säkert iterera endast över objektets egna egenskaper.
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]}`); } }
Denna kontroll säkerställer att ärvda egenskaper ignoreras, vilket gör din kod mer förutsägbar och säker.
1. Vad är det primära syftet med metoden hasOwnProperty()?
2. Vilken typ av värde returnerar metoden hasOwnProperty()?
3. Varför är det viktigt att kontrollera egna egenskaper med hasOwnProperty() i en for...in-loop?
4. Vad kommer att loggas när man itererar genom video-objektets egenskaper i koden nedan?
Tack för dina kommentarer!