JavaScript オブジェクトで変数プロパティ名を使用してプロパティの存在を確認する方法

Barbara Streisand
リリース: 2024-11-01 11:07:02
オリジナル
242 人が閲覧しました

How to Check for Property Existence Using a Variable Property Name in JavaScript Objects?

プロパティ名変数を使用してオブジェクト プロパティの存在を効果的に調べる方法

JavaScript オブジェクトを操作する場合、特定のプロパティが存在するかどうかを判断することが重要です。ただし、ターゲット プロパティ名を保持するために変数を利用する必要がある場合はどうすればよいでしょうか?

提供された例では:

<code class="js">var myObj;
myObj.prop = "exists";
var myProp = "p"+"r"+"o"+"p";

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

コードは ' という名前のプロパティの存在を確認しようとします。 myprop' は存在しません。これは、JavaScript が式を「myObj.prop」ではなく「myObj.myprop」として評価するためです。

このロジックを正常に実装するには、いくつかのアプローチを利用できます。

hasOwnProperty の使用

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

hasOwnProperty は、継承されたプロパティを除き、オブジェクトが特定のプロパティを所有しているかどうかを検証します。

オペレーターでの使用 (ES5)

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

in 演算子は、独自のプロパティと継承されたプロパティの両方を含むオブジェクトの列挙可能なプロパティを調べます。

角かっこの使用 (ES6)

<code class="js">if('prop' in myObj){
    alert("yes, i have that property");
}</code>
ログイン後にコピー

ES6 では、角かっこプロパティの存在チェックのために in 演算子と同じ意味で使用できます。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート