Object. hasOwn()
Vérifie si un objet a sa propre propriété portant le nom donné.
- Renvoie
trueoufalse.- Modifie l’original
- Non
Exemple
#const profile = { name: 'Emma', bio: undefined }
console.log(Object.hasOwn(profile, 'bio'))
console.log(Object.hasOwn(profile, 'toString'))
console.log('toString' in profile)Définition et utilisation
#La méthode Object.hasOwn(obj, clé) renvoie true si l’objet a une propriété de ce nom directement sur lui-même, et non héritée du prototype. C’est un équivalent plus moderne et plus sûr de obj.hasOwnProperty(clé).
Elle diffère de l’opérateur in, qui vérifie aussi les propriétés héritées. Par exemple, "toString" in {} renvoie true, alors que Object.hasOwn({}, "toString") renvoie false.
Elle fonctionne aussi sur des objets sans prototype (créés avec Object.create(null)), sur lesquels la méthode hasOwnProperty n’existe même pas.
Syntaxe
#Object.hasOwn(obj, prop)Paramètres
#obj
objet
L’objet vérifié.prop
chaîne ou symbole
Le nom de la propriété.
Compatibilité des navigateurs
#Largement disponible
Fonctionne dans tous les navigateurs modernes, y compris sur mobile. Vous pouvez l’utiliser sans crainte.
- Chrome
- Edge
- Firefox
- Safari
Bonnes pratiques
#- Vérifier avec
if (obj.champ)ne permet pas de distinguer un champ absent d’une valeur0,""ouundefined.Object.hasOwn()le permet. - Dans du code neuf, remplacez
hasOwnPropertypar la méthodeObject.hasOwn().
Entrées associées
#Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.