【Node.js24.x】Object::propertyIsEnumerable()メソッドの使い方
propertyIsEnumerableメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
propertyIsEnumerableメソッドは、指定されたオブジェクトが、自身の持つ特定のプロパティを列挙可能であるかどうかを判定するメソッドです。列挙可能とは、for...inループやObject.keys()、JSON.stringify()などの操作でそのプロパティが反復処理やシリアライズの対象となるかどうかを示す属性です。このメソッドは、確認したいプロパティ名を文字列として引数に受け取り、そのプロパティが列挙可能であればtrueを、そうでない場合はfalseを返します。
特に重要な点として、このメソッドはオブジェクト「自身」が直接所有するプロパティのみを対象とします。プロトタイプチェーンを通じて継承されたプロパティは対象外であり、継承されたプロパティに対しては、たとえそれが列挙可能であったとしても常にfalseを返します。例えば、Object.prototypeに定義されているメソッドやプロパティの多くは、デフォルトで非列挙可能です。このメソッドは、オブジェクトのプロパティを処理する際に、列挙可能性という属性に基づいて厳密な制御を行いたい場合に役立ちます。
構文(syntax)
1const myObject = { 2 property1: 123, 3 property2: 'abc' 4}; 5 6console.log(myObject.propertyIsEnumerable('property1')); 7console.log(myObject.propertyIsEnumerable('property3'));
引数(parameters)
propName
- propName: string: 確認したいプロパティの名前を指定する文字列
戻り値(return)
boolean
指定されたプロパティが、そのオブジェクト自体の列挙可能なプロパティである場合に true を、そうでない場合に false を返します。