この書き方でも for 文は正常に動作します。 しかしながらこの書き方は 以下の書き間違いが生じることがあります。 for(var i = 0; i < array1.length; i++) { //長い処理 for(var i = 0; i < array2.length; i++) { } } 長い処理の中で i を宣言したことを忘れて 再び i を宣言してしまうことで 外側の for 文のカウントにバグが発生し 期待した動作にならない例になります。 私も他の人が作成した web アプリで このバグを見かけたことがあります。 for の変数を宣言する場合 必ず let で宣言して下さい。 var でなければ正常に動作しないのは 構造的欠陥のハズです。 let array1 = [1, 2, 3]; let array2 = [4, 5, 6]; for(let i = 0; i <
![【熱望】javascript の for 文で var i を宣言するのはやめて下さい - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/65cba3fea74c8b5ba372dd626866139c55723599/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUUzJTgwJTkwJUU3JTg2JUIxJUU2JTlDJTlCJUUzJTgwJTkxamF2YXNjcmlwdCUyMCVFMyU4MSVBRSUyMGZvciUyMCVFNiU5NiU4NyVFMyU4MSVBNyUyMHZhciUyMGklMjAlRTMlODIlOTIlRTUlQUUlQTMlRTglQTglODAlRTMlODElOTklRTMlODIlOEIlRTMlODElQUUlRTMlODElQUYlRTMlODIlODQlRTMlODIlODElRTMlODElQTYlRTQlQjglOEIlRTMlODElOTUlRTMlODElODQmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWMxMzdiNjkyMTVmZmU3MjMyNmU4MmM0NmM2NGRmZjU4%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB1bmk5MjgmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWRiYmI3ZTI4MmM0M2UyZTUwOGVhMDRiNzZhODgyMDQ3%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3Db5a76a413e74315e40f17cb1e81c1037)