【JavaScript ECMAScript】Reflect::Reflect.ownKeys静的メソッドの使い方
Reflect.ownKeys()静的メソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
Reflect.ownKeys()メソッドは、指定されたオブジェクトが直接所有するすべてのプロパティのキーを、配列として取得するメソッドです。
このメソッドは、あるオブジェクトにどのようなプロパティが定義されているかを網羅的に知りたい場合に非常に役立ちます。具体的には、プロパティ名が文字列である通常のプロパティだけでなく、Symbol(シンボル)という特殊な値を使って定義されたプロパティのキーも対象に含まれます。
Reflect.ownKeys()が返すのは、そのオブジェクト自身に直接定義されたプロパティのみで、オブジェクトが継承(親から受け継ぐこと)したプロパティは含まれません。また、それぞれのプロパティが外部から参照可能(列挙可能)かどうかにかかわらず、オブジェクトに存在するすべてのキーを返します。
JavaScriptには、オブジェクトのプロパティキーを取得する他の方法もありますが、Reflect.ownKeys()は文字列のプロパティ名とSymbolプロパティ名の両方をまとめて取得できるため、より包括的な情報が必要な場面で利用されます。例えば、オブジェクトの内部構造を詳細に分析したい時や、Proxy(プロキシ)という機能を用いてオブジェクトの動作をカスタマイズする際に、このメソッドが活用されます。オブジェクトが持つプロパティキーの全容を把握するための標準的かつ強力な手段として設計されています。
構文(syntax)
1Reflect.ownKeys(target);
引数(parameters)
target
- target: object: 対象となるオブジェクト
戻り値(return)
Array
引数として与えられたオブジェクト自身の、列挙可能なプロパティおよび非列挙可能なプロパティ、シンボルのプロパティすべてを識別子(文字列またはシンボル)の配列として返します。