HasOwnProperty()-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ä:
12345678910const baseExercise = { category: "Strength", }; const exercise = Object.create(baseExercise); exercise.name = "Deadlift"; for (let key in exercise) { console.log(key); }
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.
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]}`); } }
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?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Mahtavaa!
Completion arvosana parantunut arvoon 2.27
HasOwnProperty()-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ä:
12345678910const baseExercise = { category: "Strength", }; const exercise = Object.create(baseExercise); exercise.name = "Deadlift"; for (let key in exercise) { console.log(key); }
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.
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]}`); } }
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?
Kiitos palautteestasi!