Contenu du cours
Structures de Données JavaScript
Structures de Données JavaScript
Méthode hasOwnProperty()
Lors de l'itération à travers les propriétés d'un objet en utilisant la boucle for...in
, il est important de distinguer entre les propriétés propres de l'objet et celles héritées de sa chaîne de prototypes.
La méthode hasOwnProperty()
est un outil précieux pour vérifier si une propriété appartient à l'objet ou est héritée d'un prototype. Explorons la méthode hasOwnProperty()
et comment elle peut gérer en toute sécurité les propriétés d'un objet lors de l'itération.
Comprendre hasOwnProperty()
La méthode hasOwnProperty()
est une méthode intégrée de JavaScript qui nous permet de vérifier si une propriété spécifique existe directement sur un objet. Elle renvoie une valeur booléenne (true
ou false
) indiquant si l'objet possède une propriété avec le nom spécifié.
Voici la syntaxe de base de la méthode hasOwnProperty()
:
object
: L'objet que vous souhaitez vérifier ;property
: Le nom de la propriété que nous voulons vérifier.
Utilisation de hasOwnProperty() avec for...in
En utilisant la boucle for...in
, nous pouvons la combiner avec la méthode hasOwnProperty()
pour parcourir les propriétés d'un objet. Il est important d'ajouter une vérification pour les propriétés propres à chaque itération afin de s'assurer que nous n'accédons qu'aux propriétés propres de l'objet. Même si nous sommes certains que l'objet n'a pas de propriétés héritées, cette vérification protégera contre de possibles erreurs futures.
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]}`); } }
1. Quel est le but 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-t-il enregistré lors de l'itération à travers les propriétés de l'objet video
?
Merci pour vos commentaires !