【JavaScript】Object.getOwnPropertyNames()メソッド: オブジェクトのすべてのプロパティ名を取得する

JavaScriptのObject.getOwnPropertyNames()メソッドは、指定されたオブジェクト自身が持つすべての列挙可能でないプロパティの名前を配列として返します。このメソッドは、オブジェクトのすべてのプロパティ名を取得するための便利な方法を提供します。この記事では、Object.getOwnPropertyNames()メソッドの基本的な使い方や機能、そして実際の使用例について詳しく説明します。

目次

Object.getOwnPropertyNames()メソッドの構文

Object.getOwnPropertyNames()メソッドの構文は以下の通りです。

Object.getOwnPropertyNames(obj)
  • obj: プロパティ名を取得したいオブジェクトです。

Object.getOwnPropertyNames()メソッドの動作

Object.getOwnPropertyNames()メソッドは、指定されたオブジェクトのすべての列挙可能でないプロパティの名前を配列として返します。列挙可能でないプロパティとは、enumerablefalseに設定されているプロパティのことです。

const obj = {
  a: 1,
  b: 2
};

Object.defineProperty(obj, 'c', {
  value: 3,
  enumerable: false
});

const propertyNames = Object.getOwnPropertyNames(obj);

console.log(propertyNames); // Output: ['a', 'b', 'c']

Object.getOwnPropertyNames()メソッドの利点

  1. 列挙可能でないプロパティの取得: オブジェクトのすべての列挙可能でないプロパティの名前を取得できます。
  2. プロパティ名の取得: オブジェクトのプロパティ名を配列として簡単に取得できます。

Object.getOwnPropertyNames()メソッドの使用例

  1. 列挙可能でないプロパティの取得:
const obj = {
  a: 1,
  b: 2
};

Object.defineProperty(obj, 'c', {
  value: 3,
  enumerable: false
});

const propertyNames = Object.getOwnPropertyNames(obj);

console.log(propertyNames); // Output: ['a', 'b', 'c']
  1. プロパティ名の取得:
const obj = {
  name: 'Alice',
  age: 30,
  city: 'Wonderland'
};

const propertyNames = Object.getOwnPropertyNames(obj);

console.log(propertyNames); // Output: ['name', 'age', 'city']

結論

Object.getOwnPropertyNames()メソッドは、指定されたオブジェクトのすべての列挙可能でないプロパティの名前を取得するための便利な方法を提供します。このメソッドを使用することで、オブジェクトのプロパティ名を簡単に取得し、必要に応じて操作することができます。

目次