Comment puis-je vérifier si un objet a une clé en JavaScript? [dupliquer]

cette question a déjà une réponse ici:

Quelle est la bonne chose à faire?

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

ou

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

ou

if (myObj['key'])
725
demandé sur Zanon 2009-01-18 18:42:58

2 réponses

Essayez le JavaScript dans opérateur .

if ('key' in myObj)

et l'inverse.

if (!('key' in myObj))

faites attention! l'opérateur in correspond à toutes les clés de l'objet, y compris celles de la chaîne prototype 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 que la plupart des codes recherchent.

1305
répondu ForYourOwnGood 2018-01-24 17:36:03

vous devez utiliser hasOwnProperty . Par exemple:

myObj.hasOwnProperty('myKey');
350
répondu typeoneerror 2015-10-29 17:19:05