Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele HasOwnProperty()-Menetelmän Käyttäminen Olion Ominaisuuksien Tarkistamiseen | Edistyneet Olionkäsittelytekniikat
Practice
Projects
Quizzes & Challenges
Visat
Challenges
/
Javascriptin tietorakenteet

bookHasOwnProperty()-Menetelmän Käyttäminen Olion Ominaisuuksien Tarkistamiseen

Kun käydään olion ominaisuuksia läpi for...in-silmukalla, on tärkeää erottaa olion omat ominaisuudet ja prototyypistä perityt ominaisuudet.

JavaScriptissä jotkin ominaisuudet voivat näkyä iteraation aikana, vaikka niitä ei olisi määritelty suoraan oliolle. Tämä johtuu siitä, että oliot voivat periä ominaisuuksia muilta olioilta.

hasOwnProperty()-metodin avulla voidaan varmistaa, että käsitellään vain niitä ominaisuuksia, jotka kuuluvat suoraan oliolle.

hasOwnProperty()-metodin ymmärtäminen

hasOwnProperty() on JavaScriptin sisäänrakennettu metodi, joka tarkistaa, onko ominaisuus olemassa suoraan oliolla. Se palauttaa totuusarvon (true tai false).

Syntaksi

object.hasOwnProperty(property)
  • object: olio, jota halutaan tarkistaa;
  • property: tarkistettavan ominaisuuden nimi.

Miksi hasOwnProperty() on hyödyllinen

Tarkastellaan seuraavaa esimerkkiä:

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

Vaikka category-ominaisuutta ei ole määritelty suoraan exercise-objektiin, se näkyy silmukassa. Tämän vuoksi tarvitaan lisätarkistus.

hasOwnProperty()-metodin käyttö yhdessä for...in-silmukan kanssa

Yhdistämällä for...in-silmukan ja hasOwnProperty()-metodin voit turvallisesti käydä läpi vain objektin omat ominaisuudet.

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

Tämä tarkistus varmistaa, että perityt ominaisuudet ohitetaan, mikä tekee koodistasi ennustettavampaa ja turvallisempaa.

1. Mikä on hasOwnProperty()-menetelmän ensisijainen tarkoitus?

2. Minkä tyyppisen arvon hasOwnProperty()-metodi palauttaa?

3. Miksi on tärkeää tarkistaa omat ominaisuudet käytettäessä hasOwnProperty()-metodia yhdessä for...in-silmukan kanssa?

4. Mitä seuraava koodi tulostaa, kun käydään läpi video-objektin ominaisuudet?

question mark

Mikä on hasOwnProperty()-menetelmän ensisijainen tarkoitus?

Select the correct answer

question mark

Minkä tyyppisen arvon hasOwnProperty()-metodi palauttaa?

Select the correct answer

question mark

Miksi on tärkeää tarkistaa omat ominaisuudet käytettäessä hasOwnProperty()-metodia yhdessä for...in-silmukan kanssa?

Select the correct answer

question mark

Mitä seuraava koodi tulostaa, kun käydään läpi video-objektin ominaisuudet?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 3

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

bookHasOwnProperty()-Menetelmän Käyttäminen Olion Ominaisuuksien Tarkistamiseen

Pyyhkäise näyttääksesi valikon

Kun käydään olion ominaisuuksia läpi for...in-silmukalla, on tärkeää erottaa olion omat ominaisuudet ja prototyypistä perityt ominaisuudet.

JavaScriptissä jotkin ominaisuudet voivat näkyä iteraation aikana, vaikka niitä ei olisi määritelty suoraan oliolle. Tämä johtuu siitä, että oliot voivat periä ominaisuuksia muilta olioilta.

hasOwnProperty()-metodin avulla voidaan varmistaa, että käsitellään vain niitä ominaisuuksia, jotka kuuluvat suoraan oliolle.

hasOwnProperty()-metodin ymmärtäminen

hasOwnProperty() on JavaScriptin sisäänrakennettu metodi, joka tarkistaa, onko ominaisuus olemassa suoraan oliolla. Se palauttaa totuusarvon (true tai false).

Syntaksi

object.hasOwnProperty(property)
  • object: olio, jota halutaan tarkistaa;
  • property: tarkistettavan ominaisuuden nimi.

Miksi hasOwnProperty() on hyödyllinen

Tarkastellaan seuraavaa esimerkkiä:

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

Vaikka category-ominaisuutta ei ole määritelty suoraan exercise-objektiin, se näkyy silmukassa. Tämän vuoksi tarvitaan lisätarkistus.

hasOwnProperty()-metodin käyttö yhdessä for...in-silmukan kanssa

Yhdistämällä for...in-silmukan ja hasOwnProperty()-metodin voit turvallisesti käydä läpi vain objektin omat ominaisuudet.

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

Tämä tarkistus varmistaa, että perityt ominaisuudet ohitetaan, mikä tekee koodistasi ennustettavampaa ja turvallisempaa.

1. Mikä on hasOwnProperty()-menetelmän ensisijainen tarkoitus?

2. Minkä tyyppisen arvon hasOwnProperty()-metodi palauttaa?

3. Miksi on tärkeää tarkistaa omat ominaisuudet käytettäessä hasOwnProperty()-metodia yhdessä for...in-silmukan kanssa?

4. Mitä seuraava koodi tulostaa, kun käydään läpi video-objektin ominaisuudet?

question mark

Mikä on hasOwnProperty()-menetelmän ensisijainen tarkoitus?

Select the correct answer

question mark

Minkä tyyppisen arvon hasOwnProperty()-metodi palauttaa?

Select the correct answer

question mark

Miksi on tärkeää tarkistaa omat ominaisuudet käytettäessä hasOwnProperty()-metodia yhdessä for...in-silmukan kanssa?

Select the correct answer

question mark

Mitä seuraava koodi tulostaa, kun käydään läpi video-objektin ominaisuudet?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 3
some-alt