JavaScript の変数を使用してオブジェクトのプロパティに動的にアクセスする方法

Patricia Arquette
リリース: 2024-10-30 16:07:36
オリジナル
576 人が閲覧しました

How to Dynamically Access Object Properties with Variables in JavaScript?

JavaScript での変数を使用した動的プロパティ アクセス

JavaScript では、変数を使用してオブジェクト プロパティに動的にアクセスすると、課題が生じる可能性があります。次のシナリオを考えてみましょう:

var myObj;
myObj.prop = "exists";
var myProp = "p"+"r"+"o"+"p";

if(myObj.myProp){
    alert("yes, i have that property");
};
ログイン後にコピー

この例では、prop プロパティが myObj オブジェクトに存在するかどうかを確認したいと考えています。ただし、条件 myObj.myProp は、実際には存在しないプロパティ (myObj.myProp) の存在をチェックしているため、未定義と評価されます。

プロパティに正しくアクセスするには、次の手法を使用できます。

1. hasOwnProperty メソッド:

hasOwnProperty メソッドは、オブジェクトが独自のプロパティ リストに特定のプロパティを持っているかどうかを確認します (継承されたプロパティを除く)。

var myProp = 'prop';
if(myObj.hasOwnProperty(myProp)){
    alert("yes, i have that property");
}
ログイン後にコピー

2. in 演算子:

in 演算子は、継承されたプロパティを含む指定されたプロパティがオブジェクトにあるかどうかを確認します。

var myProp = 'prop';
if(myProp in myObj){
    alert("yes, i have that property");
}
ログイン後にコピー

3.省略表記:

プロパティ名が文字列リテラルの場合、省略表記を使用できます:

if('prop' in myObj){
    alert("yes, i have that property");
}
ログイン後にコピー

重要な注意事項:

  • hasOwnProperty メソッドは継承されたプロパティをチェックしませんが、in 演算子はチェックします。
  • in 演算子を使用する場合、パフォーマンスを向上させるために、最初にプロパティ名を変数に割り当てることをお勧めします。

以上がJavaScript の変数を使用してオブジェクトのプロパティに動的にアクセスする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!