ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript で継承された列挙不可能なプロパティを取得するにはどうすればよいですか?

JavaScript で継承された列挙不可能なプロパティを取得するにはどうすればよいですか?

DDD
リリース: 2024-11-08 22:36:02
オリジナル
511 人が閲覧しました

How to Retrieve Inherited Non-Enumerable Properties in JavaScript?

継承された列挙不可能なプロパティの取得

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート