Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Brug af hasOwnProperty() til at kontrollere objekt-egenskaber | Avancerede Objekthåndteringsteknikker
Practice
Projects
Quizzes & Challenges
Quizzer
Challenges
/
Javascript Datastrukturer

bookBrug af hasOwnProperty() til at kontrollere objekt-egenskaber

Når man itererer gennem et objekts egenskaber ved hjælp af for...in-løkken, er det vigtigt at skelne mellem objektets egne egenskaber og egenskaber, der er arvet fra dets prototype.

I JavaScript kan nogle egenskaber dukke op under iteration, selvom de ikke er defineret direkte på objektet. Dette sker, fordi objekter kan arve egenskaber fra andre objekter.

Metoden hasOwnProperty() hjælper os med at sikre, at vi kun arbejder med de egenskaber, der tilhører objektet direkte.

Forståelse af hasOwnProperty()

Metoden hasOwnProperty() er en indbygget JavaScript-metode, der kontrollerer, om en egenskab findes direkte på et objekt. Den returnerer en boolesk værdi (true eller false).

Syntaks

object.hasOwnProperty(property)
  • object: objektet, du vil kontrollere;
  • property: navnet på den egenskab, der skal søges efter.

Hvorfor hasOwnProperty() er nyttig

Overvej følgende eksempel:

12345678910
const baseExercise = { category: "Strength", }; const exercise = Object.create(baseExercise); exercise.name = "Deadlift"; for (let key in exercise) { console.log(key); }
copy

Selvom category ikke blev defineret direkte på exercise, vises den i løkken. Derfor er det nødvendigt med en ekstra kontrol.

Brug af hasOwnProperty() med for...in

Ved at kombinere for...in med hasOwnProperty() kan du sikkert iterere kun over objektets egne egenskaber.

12345678910111213
const 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]}`); } }
copy

Denne kontrol sikrer, at nedarvede egenskaber ignoreres, hvilket gør din kode mere forudsigelig og sikker.

1. Hvad er det primære formål med metoden hasOwnProperty()?

2. Hvilken type værdi returnerer metoden hasOwnProperty()?

3. Hvorfor er det vigtigt at kontrollere for egne egenskaber, når man bruger hasOwnProperty() sammen med for...in-løkken?

4. I koden nedenfor, hvad bliver logget, når der itereres gennem video-objektets egenskaber?

question mark

Hvad er det primære formål med metoden hasOwnProperty()?

Select the correct answer

question mark

Hvilken type værdi returnerer metoden hasOwnProperty()?

Select the correct answer

question mark

Hvorfor er det vigtigt at kontrollere for egne egenskaber, når man bruger hasOwnProperty() sammen med for...in-løkken?

Select the correct answer

question mark

I koden nedenfor, hvad bliver logget, når der itereres gennem video-objektets egenskaber?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 3

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

bookBrug af hasOwnProperty() til at kontrollere objekt-egenskaber

Stryg for at vise menuen

Når man itererer gennem et objekts egenskaber ved hjælp af for...in-løkken, er det vigtigt at skelne mellem objektets egne egenskaber og egenskaber, der er arvet fra dets prototype.

I JavaScript kan nogle egenskaber dukke op under iteration, selvom de ikke er defineret direkte på objektet. Dette sker, fordi objekter kan arve egenskaber fra andre objekter.

Metoden hasOwnProperty() hjælper os med at sikre, at vi kun arbejder med de egenskaber, der tilhører objektet direkte.

Forståelse af hasOwnProperty()

Metoden hasOwnProperty() er en indbygget JavaScript-metode, der kontrollerer, om en egenskab findes direkte på et objekt. Den returnerer en boolesk værdi (true eller false).

Syntaks

object.hasOwnProperty(property)
  • object: objektet, du vil kontrollere;
  • property: navnet på den egenskab, der skal søges efter.

Hvorfor hasOwnProperty() er nyttig

Overvej følgende eksempel:

12345678910
const baseExercise = { category: "Strength", }; const exercise = Object.create(baseExercise); exercise.name = "Deadlift"; for (let key in exercise) { console.log(key); }
copy

Selvom category ikke blev defineret direkte på exercise, vises den i løkken. Derfor er det nødvendigt med en ekstra kontrol.

Brug af hasOwnProperty() med for...in

Ved at kombinere for...in med hasOwnProperty() kan du sikkert iterere kun over objektets egne egenskaber.

12345678910111213
const 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]}`); } }
copy

Denne kontrol sikrer, at nedarvede egenskaber ignoreres, hvilket gør din kode mere forudsigelig og sikker.

1. Hvad er det primære formål med metoden hasOwnProperty()?

2. Hvilken type værdi returnerer metoden hasOwnProperty()?

3. Hvorfor er det vigtigt at kontrollere for egne egenskaber, når man bruger hasOwnProperty() sammen med for...in-løkken?

4. I koden nedenfor, hvad bliver logget, når der itereres gennem video-objektets egenskaber?

question mark

Hvad er det primære formål med metoden hasOwnProperty()?

Select the correct answer

question mark

Hvilken type værdi returnerer metoden hasOwnProperty()?

Select the correct answer

question mark

Hvorfor er det vigtigt at kontrollere for egne egenskaber, når man bruger hasOwnProperty() sammen med for...in-løkken?

Select the correct answer

question mark

I koden nedenfor, hvad bliver logget, når der itereres gennem video-objektets egenskaber?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 3
some-alt