Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
JavaScript の strict モード専用の例外である "for-in loop head declarations may not have initializers" は、 for...in の先頭に初期化構文が含まれていた場合、例えば |for (var i = 0 in obj)| のような場合に発生します。これは strict モードの for-in ループでは許可されていません。
for...in ループの先頭に初期化式が含まれています。つまり、 |for (var i = 0 in obj)| のように変数を宣言して値を代入しています。 strict モードでない場合は、このヘッダー宣言は暗黙に無視され、|for (var i in obj)| のように動作します。しかし、strict モードでは SyntaxError が発生します。
この例では SyntaxError が発生します。
for-in ループのヘッダーから初期化子 (i = 0) を削除してください。
for...in ループは Array の反復処理で使用すべきではありません。 Array を反復するのに、 for ループを for-in ループの代わりに使うつもりだったのでしょうか。 for ループならば、初期化子を設定することができます。
This page was last modified on 2026年2月17日 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.