Utilisation de HasOwnProperty() pour Vérifier les Propriétés d'un Objet
Lors de l'itération sur les propriétés d'un objet à l'aide de la boucle for...in, il est important de distinguer les propriétés propres de l'objet et les propriétés héritées de son prototype.
En JavaScript, certaines propriétés peuvent apparaître lors de l'itération même si elles n'ont pas été définies directement sur l'objet. Cela se produit parce que les objets peuvent hériter de propriétés d'autres objets.
La méthode hasOwnProperty() nous aide à nous assurer que nous travaillons uniquement avec les propriétés qui appartiennent directement à l'objet.
Comprendre hasOwnProperty()
La méthode hasOwnProperty() est une méthode intégrée de JavaScript qui vérifie si une propriété existe directement sur un objet. Elle renvoie une valeur booléenne (true ou false).
Syntaxe
object.hasOwnProperty(property)
object: l'objet à vérifier ;property: le nom de la propriété à rechercher.
Utilité de hasOwnProperty()
Considérez l'exemple suivant :
12345678910const baseExercise = { category: "Strength", }; const exercise = Object.create(baseExercise); exercise.name = "Deadlift"; for (let key in exercise) { console.log(key); }
Même si category n'a pas été défini directement sur exercise, il apparaît dans la boucle. C'est pourquoi une vérification supplémentaire est nécessaire.
Utilisation de hasOwnProperty() avec for...in
En combinant for...in avec hasOwnProperty(), il est possible d'itérer en toute sécurité uniquement sur les propriétés propres de l'objet.
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]}`); } }
Cette vérification garantit que les propriétés héritées sont ignorées, rendant votre code plus prévisible et plus sûr.
1. Quel est l'objectif principal de la méthode hasOwnProperty() ?
2. Quel type de valeur la méthode hasOwnProperty() retourne-t-elle ?
3. Lors de l'utilisation de hasOwnProperty() avec la boucle for...in, pourquoi est-il important de vérifier les propriétés propres ?
4. Dans le code ci-dessous, que sera affiché lors de l'itération sur les propriétés de l'objet video ?
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Génial!
Completion taux amélioré à 2.27
Utilisation de HasOwnProperty() pour Vérifier les Propriétés d'un Objet
Glissez pour afficher le menu
Lors de l'itération sur les propriétés d'un objet à l'aide de la boucle for...in, il est important de distinguer les propriétés propres de l'objet et les propriétés héritées de son prototype.
En JavaScript, certaines propriétés peuvent apparaître lors de l'itération même si elles n'ont pas été définies directement sur l'objet. Cela se produit parce que les objets peuvent hériter de propriétés d'autres objets.
La méthode hasOwnProperty() nous aide à nous assurer que nous travaillons uniquement avec les propriétés qui appartiennent directement à l'objet.
Comprendre hasOwnProperty()
La méthode hasOwnProperty() est une méthode intégrée de JavaScript qui vérifie si une propriété existe directement sur un objet. Elle renvoie une valeur booléenne (true ou false).
Syntaxe
object.hasOwnProperty(property)
object: l'objet à vérifier ;property: le nom de la propriété à rechercher.
Utilité de hasOwnProperty()
Considérez l'exemple suivant :
12345678910const baseExercise = { category: "Strength", }; const exercise = Object.create(baseExercise); exercise.name = "Deadlift"; for (let key in exercise) { console.log(key); }
Même si category n'a pas été défini directement sur exercise, il apparaît dans la boucle. C'est pourquoi une vérification supplémentaire est nécessaire.
Utilisation de hasOwnProperty() avec for...in
En combinant for...in avec hasOwnProperty(), il est possible d'itérer en toute sécurité uniquement sur les propriétés propres de l'objet.
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]}`); } }
Cette vérification garantit que les propriétés héritées sont ignorées, rendant votre code plus prévisible et plus sûr.
1. Quel est l'objectif principal de la méthode hasOwnProperty() ?
2. Quel type de valeur la méthode hasOwnProperty() retourne-t-elle ?
3. Lors de l'utilisation de hasOwnProperty() avec la boucle for...in, pourquoi est-il important de vérifier les propriétés propres ?
4. Dans le code ci-dessous, que sera affiché lors de l'itération sur les propriétés de l'objet video ?
Merci pour vos commentaires !