web-dev-qa-db-fra.com

Comment vérifier si un objet a une clé en JavaScript?

Quelle est la bonne chose à faire?

if (myObj['key'] == undefined)

ou

if (myObj['key'] == null)

ou

if (myObj['key'])
978
kevin

Essayez le JavaScript dans opérateur .

if ('key' in myObj)

Et l'inverse.

if (!('key' in myObj))

Attention! L'opérateur in correspond à toutes les clés d'objet, y compris celles de la chaîne de prototypes de l'objet.

Utilisez myObj.hasOwnProperty('key') pour vérifier les clés d'un objet et ne retournera true que si key est disponible sur myObj directement:

myObj.hasOwnProperty('key')

Sauf si vous avez une raison spécifique d'utiliser l'opérateur in, l'utilisation de myObj.hasOwnProperty('key') produit le résultat recherché par la plupart du code.

1729
ForYourOwnGood

Vous devriez utiliser hasOwnProperty . Par exemple:

myObj.hasOwnProperty('myKey');
428
typeoneerror