ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript の「for...in」ループは実際にオブジェクトのプロパティをどのように反復処理するのでしょうか?
オブジェクトのプロパティの反復
JavaScript では、for...in ループでオブジェクトのプロパティを反復できます。ただし、ループ変数 propt がこれらのプロパティをどのように表すかを理解することが重要です。
最初は、propt がオブジェクトの組み込みメソッドまたはプロパティではないことに困惑するかもしれません。代わりに、ループの反復中に各プロパティ名が割り当てられる変数です。
ループはオブジェクトのキー (常に文字列) を反復します。これには、オブジェクトのプロトタイプ チェーンから継承されたプロパティと、オブジェクト自体に定義されたカスタム プロパティが含まれます。
継承されたプロパティの問題を回避するには、hasOwnProperty メソッドを使用してカスタム プロパティと継承されたプロパティを区別することをお勧めします。
for (var prop in obj) { if (Object.prototype.hasOwnProperty.call(obj, prop)) { // Do stuff with custom property prop } }
これにより、カスタム プロパティのみが反復処理されるようになります。さらに、オブジェクト自体を通じて hasOwnProperty を直接呼び出すこともできますが、同じ名前のカスタム プロパティとの潜在的な競合を避けるために、Object.prototype バージョンを使用する方が安全です。
以上がJavaScript の「for...in」ループは実際にオブジェクトのプロパティをどのように反復処理するのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。