Problemet med valgfrie parenteser i loops i JavaScript
Selvom man kan udelade krøllede parenteser i loops, anbefaler jeg stærkt ikke at gøre det, da sådan kode ofte fører til fejl.
Lad os se på et eksempel. Antag, at vi har følgende kode:
for (let i = 0; i <= 9; i++)
console.log(i); // vil udskrive tal fra 0 til 9
Jeg laver en lille ændring i den viste kode ovenfor (find ud af hvilken) - og den vil stoppe med at virke:
for (let i = 0; i <= 9; i++);
console.log(i); // vil vise en fejl
Så, hvad var det, jeg ændrede?
Problemet opstod, fordi jeg satte
et semikolon efter parentesen ) fra
loopet. I sådan et tilfælde får man det såkaldte
loop uden krop: det vil simpelthen køre igennem
internt, og den næste linje vil ikke længere
hore til det. Derfor, for at undgå problemer,
anbefaler jeg altid at sætte krøllede parenteser
i loops.
Fortæl, hvad resultatet af at eksekvere følgende kode vil være:
let arr = [1, 2, 3, 4, 5];
for (let elem of arr);
console.log(elem);