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:

javascriptfor (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:

javascriptfor (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.

Задание 1

Explique qual será o resultado da execução do seguinte código:

javascriptlet arr = [1, 2, 3, 4, 5];

for (let elem of arr);
  console.log(elem);