Home > Article > Web Front-end > How to Dynamically Access Object Properties with Variables in JavaScript?
Dynamic Property Access with Variables in JavaScript
In JavaScript, dynamically accessing object properties using variables can pose challenges. Let's consider the following scenario:
var myObj; myObj.prop = "exists"; var myProp = "p"+"r"+"o"+"p"; if(myObj.myProp){ alert("yes, i have that property"); };
In this example, we want to check if the prop property exists in the myObj object. However, the condition myObj.myProp evaluates to undefined because it's actually checking for the existence of a non-existent property (myObj.myProp).
To dynamically access the property correctly, we can use the following techniques:
1. hasOwnProperty Method:
The hasOwnProperty method checks if the object has a specific property in its own property list (excluding inherited properties).
var myProp = 'prop'; if(myObj.hasOwnProperty(myProp)){ alert("yes, i have that property"); }
2. in Operator:
The in operator checks if the object has a specified property, including inherited properties.
var myProp = 'prop'; if(myProp in myObj){ alert("yes, i have that property"); }
3. Shorthand Notation:
If the property name is a string literal, we can use shorthand notation:
if('prop' in myObj){ alert("yes, i have that property"); }
Important Note:
The above is the detailed content of How to Dynamically Access Object Properties with Variables in JavaScript?. For more information, please follow other related articles on the PHP Chinese website!