O problema da opcionalidade das chaves em loops em JavaScript
Embora seja possível omitir as chaves em loops, eu não recomendo fazê-lo, pois esse tipo de código frequentemente leva a erros.
Vamos ver um exemplo. Suponha que temos o seguinte código:
for (let i = 0; i <= 9; i++)
console.log(i); // exibirá os números de 0 a 9
Farei uma pequena correção no código acima (tente encontrar qual) - e ele parará de funcionar:
for (let i = 0; i <= 9; i++);
console.log(i); // exibirá um erro
Então, o que eu corrigi?
O problema surgiu porque coloquei um
ponto e vírgula após o parêntese ) do
loop. Nesse caso, ocorre o chamado
loop sem corpo: ele simplesmente irá iterar
internamente, e a próxima linha não será
mais relacionada a ele. Portanto, para evitar problemas,
eu sempre recomendo usar chaves
nos loops.
Explique qual será o resultado da execução do seguinte código:
let arr = [1, 2, 3, 4, 5];
for (let elem of arr);
console.log(elem);