Quelle est la bonne chose à faire?
if (myObj['key'] == undefined)
ou
if (myObj['key'] == null)
ou
if (myObj['key'])
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.
Vous devriez utiliser hasOwnProperty
. Par exemple:
myObj.hasOwnProperty('myKey');