Suluihin liittyvän valinnaisuuden ongelma JavaScript-silmukoissa
Vaikka silmukoissa voitaisiin jättää aaltosulut käyttämättä, en suosittele sitä lainkaan, sillä tällainen koodi johtaa usein virheisiin.
Katsotaanpa esimerkkiä. Oletetaan, että meillä on seuraava koodi:
for (let i = 0; i <= 9; i++)
console.log(i); // tulostaa numerot 0:sta 9:ään
Teen pienen korjauksen yllä olevaan koodiin (etsi mikä) - ja se lakkaa toimimasta:
for (let i = 0; i <= 9; i++);
console.log(i); // antaa virheen
Eli, mitä korjasin?
Ongelma syntyi, koska asetin
puolipisteen silmukan sulkevan ) sulun
jälkeen. Tällöin syntyy niin kutsuttu
ruumiiton silmukka: se pyörii yksinkertaisesti
läpi, ja seuraava rivi ei enää kuulu
siihen. Siksi, ongelmien välttämiseksi,
suosittelen aina käyttämään aaltosulkuja
silmukoissa.
Kerro, mikä on seuraavan koodin suorituksen tulos:
let arr = [1, 2, 3, 4, 5];
for (let elem of arr);
console.log(elem);