問題のプロパティ名を保持する変数を持つオブジェクト プロパティの存在を確認しています。
var myObj;
myObj.prop = "exists";
var myProp = "p"+"r"+"o"+"p";
if(myObj.myProp){
alert("yes, i have that property");
};
これはundefined
、探しているmyObj.myProp
が、確認したいからですmyObj.prop
ベストアンサー1
var myProp = 'prop';
if(myObj.hasOwnProperty(myProp)){
alert("yes, i have that property");
}
または
var myProp = 'prop';
if(myProp in myObj){
alert("yes, i have that property");
}
または
if('prop' in myObj){
alert("yes, i have that property");
}
hasOwnProperty
は継承されたプロパティをチェックしませんが、はチェックすることに注意してくださいin
。たとえば、'constructor' in myObj
は true ですが、 はmyObj.hasOwnProperty('constructor')
そうではありません。