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.forclá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.