継承された列挙不可能なプロパティの取得
JavaScript では、オブジェクト プロパティへのアクセスは、特定の要件に合わせたさまざまなメソッドに依存します。ただし、列挙不可能な独自プロパティを取得する場合、単純なメカニズムはありません。
これに対処するには、Object.getOwnPropertyNames() を組み合わせて列挙不可能なプロパティを取得するカスタム関数を利用できます。そして、プロトタイプ チェーンをたどって継承されたものを取得します。
function getAllProperties(obj) { var allProps = [], curr = obj; do { var props = Object.getOwnPropertyNames(curr); props.forEach(function(prop) { if (allProps.indexOf(prop) === -1) allProps.push(prop); }); } while (curr = Object.getPrototypeOf(curr)); return allProps; } console.log(getAllProperties([1, 2, 3]));
この例では、[1, 2, 3] は継承されたプロパティであり、関数はその列挙ステータスを継承せずにそれを正常に取得します。このアプローチにより、開発者は、列挙不可能な継承プロパティにアクセスできるようになります。これは、プロトタイプやオブジェクトの継承が関係する特定のシナリオにとって重要です。
以上がJavaScript で継承された列挙不可能なプロパティを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。