JavaScriptでは、取得する内容に応じて、オブジェクトのプロパティを取得する方法がいくつかあります。
1)Object.keys()
、オブジェクトのすべての独自の列挙可能なプロパティ、ECMA5メソッドを返します。
2)for...in
ループ。オブジェクトの列挙可能なすべてのプロパティを返します。それらが独自のプロパティであるか、プロトタイプチェーンから継承されているかは関係ありません。
3)Object.getOwnPropertyNames(obj)
列挙可能かどうかにかかわらず、オブジェクトのすべての独自のプロパティを返します。
hasOwnProperty(prop)
プロパティが継承されているかどうか、または実際にそのオブジェクトに属しているかどうかを確認できるメソッドもありpropertyIsEnumerable(prop)
、名前が示すように、プロパティが列挙可能かどうかを確認できます。
これらすべてのオプションを使用すると、オブジェクトの列挙不可能な、所有されていないプロパティを取得する方法はありません。これは、私がやりたいことです。これを行う方法はありますか?言い換えれば、継承された列挙できないプロパティのリストをどうにかして取得できますか?
ありがとうございました。