[解決済み] JavaScript 予期せぬ事態に対する可能な反復処理
質問
次のようなコードがあります。
for (i in awards) {
if (awards[i] instanceof Array === false) {
console.log(awards[i]);
httpFactory.patch(awards[i], {"read": true}, false);
}
}
私のIDEは、上記のコードに関連して、このエラーを示しています。
予期しない(カスタム/継承された)メンバーに対する反復処理の可能性があります。 おそらく hasOwnProperty チェックが欠落しています。
JavaScript でフィルタリングされていない for-in ループのインスタンスがないかチェックします。この構成を使用すると この構成を使用すると、継承された、または予期しないプロパティが処理されます。 プロパティを処理することになります。自身のプロパティはhasOwnProperty()メソッドでフィルタリングする必要があります。 メソッドでフィルタリングする必要があります。この検証は、JavaScript、html、jspファイルで動作します。
この文の意味するところをもう少し詳しく説明していただけませんか?
どのように解決するのですか?
IDEはテストを追加することを推奨しています。
if (awards.hasOwnProperty(i)) {
...
}
の中に
for
ループの中にあります。
私は個人的に、これを行わないこと、そして可能であれば警告を無効にすることをお勧めします。 ほとんどのコードで必要ありませんし、ES5コードではさらに必要ありません。
Object.defineProperty
また
hasOwnProperty
に新しい (列挙可能な) プロパティを安全に追加した場合のみ、チェックが必要です。
Object.prototype
に新しい (列挙可能な) プロパティを追加した場合のみ必要で、最も簡単な修正方法は
を実行しないことです。
.
jQueryはこのテストを行いません - 彼らは
明示的に文書
の場合、jQuery は壊れるということを
Object.prototype
が安全でない方法で変更された場合、jQueryがブレークすることを明示的に文書化します。
関連
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScriptでメールアドレスを検証するのに最適な方法は何ですか?
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み】JavaScriptの比較では、どちらの等号演算子(== vs ===)を使うべきですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
-
[解決済み] JSのDateからDay名
-
[解決済み] 配列からオブジェクトを生成する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JavaScript でオブジェクトが特定のプロパティを持つかどうかを確認するにはどうすればよいですか?
-
[解決済み] AngularJSのエラーです。Cross Origin リクエストはプロトコルスキーム http, data, chrome-extension, https に対してのみサポートされています。
-
[解決済み] event.targetを使用して、要素の親要素をターゲットにすることができますか?
-
[解決済み] Typescript流のMongoose...?
-
[解決済み] WebpackでjQueryを本物のWindowオブジェクトに公開する
-
[解決済み] 料金制限のあるAPIを独自にDogfoodする
-
[解決済み] WebP サポートの検出
-
[解決済み] 特定のクラスを持たない要素を選択する方法
-
[解決済み] Chrome DevToolsでソースマップを無効にする
-
[解決済み] Chrome、Javascript、window.open in new tabについて