Question Comment vérifier si un objet a une clé dans 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'])

686
2018-01-18 15:42


origine


Réponses:


Essaie le JavaScript dans opérateur.

if ('key' in myObj)

Et l'inverse.

if (!('key' in myObj))

Faites attention! le in l'opérateur correspond à toutes les clés d'objet, y compris celles de la chaîne prototype de l'objet.

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

myObj.hasOwnProperty('key')

Sauf si vous avez une raison spécifique d'utiliser le in opérateur, en utilisant myObj.hasOwnProperty('key') produit le résultat que le code recherche le plus.


1212
2018-01-18 16:03



Tu devrais utiliser hasOwnProperty. Par exemple:

myObj.hasOwnProperty('myKey');

331
2018-01-18 15:44