JavaScript の hasOwnProperty

Anika Tabassum Era 2023年10月12日
  1. JavaScript のオブジェクトの hasOwnProperty のチェック
  2. クラスのオブジェクトの hasOwnProperty のチェック
JavaScript の hasOwnProperty

in 規則と hasOwnProperty に関してジレンマがよく見られますが、特定のケースではどちらも動作が異なります。主な概念は、in はプロパティを継承し、結果が true になるオブジェクトに対して機能しますが、hasOwnProperty は、継承されないプロパティに対してのみ true を返し、代わりに明示的に定義されます。

ここでは、JavaScript の hasOwnProperty についてのみ説明します。

JavaScript のオブジェクトの hasOwnProperty のチェック

JavaScript では、プロパティが定義されているかどうかを確認する構造は次のようになります-objectName.hasOwnProprty(property)。ここで、オブジェクトは配列またはキーと値のペアにすることができます。ダイレクトパスを確認できます。

JavaScript の配列オブジェクトでの hasOwnProperty の使用

配列は 0 からインデックスが付けられ、最後に使用可能な要素まで進みます。したがって、配列オブジェクトのプロパティを呼び出すには、インデックス値を使用することをお勧めします。次の例は明確な考えを示しています。

コードスニペット:

var myObj = ['Liza', 'Kary', 'Blake'];

console.log(myObj.hasOwnProperty(2));
console.log(myObj.hasOwnProperty(3));

出力:

javascript の配列に hasownprop

JavaScript の key-value ペアオブジェクトでの hasOwnProperty の使用

この点で、キー値(文字列)とプロパティ(任意のデータ型)を持つ辞書を検討します。以下の例に行きましょう:

コードスニペット:

var myObj = {
  pet : "penguine",
  age : 5,
}

console.log(myObj.hasOwnProperty("age"));
console.log(myObj.hasOwnProperty("color"));

出力:

javascript の obj の hasownprop

ご覧のとおり、オブジェクト myObj には、petage の 2つのキーしかありません。これらの 2つのプロパティのみを hasOwnProperty で呼び出すと、コンソールの結果が true になります。それ以外の場合は、ランダムプロパティを color と呼び、結果として false になります。

クラスのオブジェクトの hasOwnProperty のチェック

JavaScript ES6 にはクラスの追加機能があり、コンストラクターを使用すると、いくつかの動的オブジェクトの定義が可能になります。オブジェクトを宣言した後、オブジェクトの値を定義することで、オブジェクトに簡単にアクセスできます。デモンストレーションにより、このセクションの説明がクリアされます。また、任意のカスタム値について、プロパティがクラスコンストラクター内に存在する場合、答えは true になります。それ以外の場合は、false

コードスニペット:

class pet {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }
}

const pet1 = new pet('Izequel', 5);

console.log(pet1.hasOwnProperty('name'));
console.log(pet1.hasOwnProperty('color'));

javascript のクラスの obj の hasOwnprop

Anika Tabassum Era avatar Anika Tabassum Era avatar

Era is an observer who loves cracking the ambiguos barriers. An AI enthusiast to help others with the drive and develop a stronger community.

LinkedIn Facebook