hasOwnProperty()メソッド
hasOwnProperty()メソッドは、JavaScriptのオブジェクトにおいて、指定されたプロパティがそのオブジェクト自体に存在するかどうかを判定するためのメソッドです。
具体的には、与えられたプロパティがオブジェクト自体に直接定義されている場合にはtrueを返し、プロトタイプチェーンから継承されたプロパティや、その他の方法で追加されたプロパティに対してはfalseを返します。
const person = {
name: 'John',
age: 30
};
console.log(person.hasOwnProperty('name')); // true
console.log(person.hasOwnProperty('gender')); // false
この例では、personオブジェクトにはnameプロパティが直接定義されているので、hasOwnProperty('name')はtrueを返します。しかし、genderプロパティはオブジェクト自体には存在しないため、hasOwnProperty('gender')はfalseを返します。
hasOwnProperty()メソッドを使用することで、オブジェクトのプロパティが直接定義されているかどうかを確認することができ、不必要なプロトタイプチェーンの参照を防ぐことができます。