Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Bruk av hasOwnProperty() for å Kontrollere Objektets Egenskaper | Avanserte Teknikker for Objektmanipulering
Practice
Projects
Quizzes & Challenges
Quizer
Challenges
/
Javascript Datastrukturer

bookBruk av hasOwnProperty() for å Kontrollere Objektets Egenskaper

Når du itererer gjennom egenskapene til et objekt ved hjelp av for...in-løkka, er det viktig å skille mellom objektets egne egenskaper og egenskaper arvet fra dets prototype.

I JavaScript kan noen egenskaper dukke opp under iterasjon selv om de ikke er definert direkte på objektet. Dette skjer fordi objekter kan arve egenskaper fra andre objekter.

Metoden hasOwnProperty() hjelper oss å sikre at vi kun arbeider med egenskapene som tilhører objektet direkte.

Forstå hasOwnProperty()

Metoden hasOwnProperty() er en innebygd JavaScript-metode som sjekker om en egenskap eksisterer direkte på et objekt. Den returnerer en boolsk verdi (true eller false).

Syntaks

object.hasOwnProperty(property)
  • object: objektet du vil sjekke;
  • property: navnet på egenskapen du leter etter.

Hvorfor hasOwnProperty() er nyttig

Vurder 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

Selv om category ikke ble definert direkte på exercise, vises den i løkken. Dette er grunnen til at vi trenger en ekstra sjekk.

Bruke hasOwnProperty() med for...in

Ved å kombinere for...in med hasOwnProperty(), kan du trygt iterere kun over objektets egne egenskaper.

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 sjekken sikrer at arvede egenskaper ignoreres, noe som gjør koden din mer forutsigbar og tryggere.

1. Hva er hovedformålet med metoden hasOwnProperty()?

2. Hvilken type verdi returnerer metoden hasOwnProperty()?

3. Hvorfor er det viktig å sjekke for egne egenskaper når man bruker hasOwnProperty() sammen med for...in-løkke?

4. I koden under, hva vil bli logget når man itererer gjennom egenskapene til objektet video?

question mark

Hva er hovedformålet med metoden hasOwnProperty()?

Select the correct answer

question mark

Hvilken type verdi returnerer metoden hasOwnProperty()?

Select the correct answer

question mark

Hvorfor er det viktig å sjekke for egne egenskaper når man bruker hasOwnProperty() sammen med for...in-løkke?

Select the correct answer

question mark

I koden under, hva vil bli logget når man itererer gjennom egenskapene til objektet video?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 3

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

bookBruk av hasOwnProperty() for å Kontrollere Objektets Egenskaper

Sveip for å vise menyen

Når du itererer gjennom egenskapene til et objekt ved hjelp av for...in-løkka, er det viktig å skille mellom objektets egne egenskaper og egenskaper arvet fra dets prototype.

I JavaScript kan noen egenskaper dukke opp under iterasjon selv om de ikke er definert direkte på objektet. Dette skjer fordi objekter kan arve egenskaper fra andre objekter.

Metoden hasOwnProperty() hjelper oss å sikre at vi kun arbeider med egenskapene som tilhører objektet direkte.

Forstå hasOwnProperty()

Metoden hasOwnProperty() er en innebygd JavaScript-metode som sjekker om en egenskap eksisterer direkte på et objekt. Den returnerer en boolsk verdi (true eller false).

Syntaks

object.hasOwnProperty(property)
  • object: objektet du vil sjekke;
  • property: navnet på egenskapen du leter etter.

Hvorfor hasOwnProperty() er nyttig

Vurder 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

Selv om category ikke ble definert direkte på exercise, vises den i løkken. Dette er grunnen til at vi trenger en ekstra sjekk.

Bruke hasOwnProperty() med for...in

Ved å kombinere for...in med hasOwnProperty(), kan du trygt iterere kun over objektets egne egenskaper.

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 sjekken sikrer at arvede egenskaper ignoreres, noe som gjør koden din mer forutsigbar og tryggere.

1. Hva er hovedformålet med metoden hasOwnProperty()?

2. Hvilken type verdi returnerer metoden hasOwnProperty()?

3. Hvorfor er det viktig å sjekke for egne egenskaper når man bruker hasOwnProperty() sammen med for...in-løkke?

4. I koden under, hva vil bli logget når man itererer gjennom egenskapene til objektet video?

question mark

Hva er hovedformålet med metoden hasOwnProperty()?

Select the correct answer

question mark

Hvilken type verdi returnerer metoden hasOwnProperty()?

Select the correct answer

question mark

Hvorfor er det viktig å sjekke for egne egenskaper når man bruker hasOwnProperty() sammen med for...in-løkke?

Select the correct answer

question mark

I koden under, hva vil bli logget når man itererer gjennom egenskapene til objektet video?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 3
some-alt