EduTech
Programação

Lógica e fundamentos

Loops e funções

Repetição sem gambiarra e funções que não escondem efeito colateral.

14 min5 itens de prática

Escolher o loop certo é quase sempre uma questão de intenção:

  • for...of — percorrer valores de algo iterável. É o padrão para arrays.
  • for...in — percorrer chaves de um objeto. Em array, devolve índices como *string* e inclui propriedades herdadas: evite.
  • .map/.filter/.reduce — quando você quer um novo valor, não um efeito colateral.
  • for clássico — quando precisa de controle fino de índice ou performance extrema.
const nums = [10, 20, 30];
for (const n of nums) console.log(n);   // 10, 20, 30
for (const i in nums) console.log(i);   // "0", "1", "2"  (strings!)

Sobre funções: uma função previsível recebe tudo de que precisa por parâmetro e devolve o resultado, sem mexer em estado externo. Isso se chama função pura, e é o que torna código testável.

// impura: depende e altera algo de fora
let total = 0;
function somar(v) { total += v; }

// pura: mesma entrada, mesma saída, sem rastro
function somar(total, v) { return total + v; }
Nem tudo pode ser puro — salvar no banco é efeito colateral por definição. A meta é isolar o impuro, não eliminá-lo.

Agora pratique

5 itens. Ler não fixa; responder fixa.