ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript でオブジェクトのプロパティを安全に反復するにはどうすればよいですか?

JavaScript でオブジェクトのプロパティを安全に反復するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-03 05:58:46
オリジナル
987 人が閲覧しました

How Can I Safely Iterate Through Object Properties in JavaScript?

オブジェクト プロパティの検査: プロパティの反復処理

指定されたコード スニペットでは、for-in ループがオブジェクト obj のプロパティを反復処理します。各プロパティの名前は変数 propt に割り当てられ、その値は obj[propt] としてアクセスされます。

ただし、注意すべき重要な点は、propt はオブジェクトの組み込みメソッドまたはプロパティではないということです。代わりに、これはループの反復中に各プロパティの名前を取る単なる変数です。

hasOwnProperty チェックの重要性

for-in ループを使用してオブジェクト プロパティを反復するには、追加の安全性が必要ですcheck: Object.prototype.hasOwnProperty.call(obj, prop).

このチェックはJavaScript のオブジェクトは基本クラスのプロトタイプからプロパティを継承するため、これが必要です。したがって、オブジェクトは、明示的に定義されていないが、基本クラスから継承されたプロパティを所有する場合があります。

ループ内に継承されたプロパティが含まれることを避けるために、hasOwnProperty チェックは、特定のプロパティが明確にクラスに属しているかどうかを判断します。継承されたプロトタイプではなくオブジェクトが反復処理されます。

代替の hasOwnProperty 構文

を使用する代わりにObject.prototype.hasOwnProperty.call(obj, prop) のように、オブジェクト自体で hasOwnProperty を直接呼び出すこともできます:

if (obj.hasOwnProperty(prop)) {
    // Do stuff
}
ログイン後にコピー

ただし、オブジェクト自体に という名前のプロパティがある場合、このアプローチではエラーが発生する可能性があります。独自のプロパティを持っています。これを防ぐには、Object.prototype.hasOwnProperty 構文を使用することをお勧めします。

以上がJavaScript でオブジェクトのプロパティを安全に反復するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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