Accès dynamique aux propriétés avec des variables en JavaScript
En JavaScript, l'accès dynamique aux propriétés d'objet à l'aide de variables peut poser des défis. Considérons le scénario suivant :
var myObj; myObj.prop = "exists"; var myProp = "p"+"r"+"o"+"p"; if(myObj.myProp){ alert("yes, i have that property"); };
Dans cet exemple, nous voulons vérifier si la propriété prop existe dans l'objet myObj. Cependant, la condition myObj.myProp est évaluée comme indéfinie car elle vérifie en fait l'existence d'une propriété inexistante (myObj.myProp).
Pour accéder dynamiquement correctement à la propriété, nous pouvons utiliser les techniques suivantes :
1. Méthode hasOwnProperty :
La méthode hasOwnProperty vérifie si l'objet a une propriété spécifique dans sa propre liste de propriétés (à l'exclusion des propriétés héritées).
var myProp = 'prop'; if(myObj.hasOwnProperty(myProp)){ alert("yes, i have that property"); }
2. Opérateur in :
L'opérateur in vérifie si l'objet possède une propriété spécifiée, y compris les propriétés héritées.
var myProp = 'prop'; if(myProp in myObj){ alert("yes, i have that property"); }
3. Notation abrégée :
Si le nom de la propriété est une chaîne littérale, nous pouvons utiliser une notation abrégée :
if('prop' in myObj){ alert("yes, i have that property"); }
Remarque importante :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!