JavaScript Controle de fluxo Básico
Controle de fluxo
O controle de fluxo é o que permite que um programa tome decisões e repita tarefas. Em JavaScript, as principais estruturas condicionais são if (e else) e switch, enquanto os laços de repetição incluem for, for...of, for...in e while. Dominar essas ferramentas é essencial para escrever código que reage a diferentes situações.
O if avalia uma condição booleana e executa um bloco se for verdadeira. O switch é útil quando temos muitos casos discretos baseados no valor de uma expressão. Já os laços permitem iterar sobre arrays, objetos ou repetir enquanto uma condição for válida.
O for clássico é ótimo quando sabemos o número de iterações ou precisamos do índice. O for...of percorre valores de iteráveis (como arrays e strings), e o for...in percorre chaves de objetos. O while repete enquanto a condição for verdadeira, sendo ideal quando não sabemos quantas vezes vamos iterar.
As palavras-chave break e continue alteram o fluxo dentro dos laços: break encerra o laço imediatamente, e continue pula para a próxima iteração. Usá-las com moderação mantém o código legível e eficiente.
Pontos-chave
ifeswitchescolhem caminhos com base em condições ou valores.forclássico dá controle total sobre índice e incremento.for...ofitera sobre valores de arrays e strings;for...initera sobre chaves de objetos.whilerepete enquanto a condição for verdadeira, útil quando o número de iterações é incerto.breaksai do laço;continuepula para a próxima iteração.
// Exemplo de controle de fluxo em JavaScript
// if / else if / else
const hora = 14;
if (hora < 12) {
console.log('Bom dia!');
} else if (hora < 18) {
console.log('Boa tarde!');
} else {
console.log('Boa noite!');
}
// switch
const diaSemana = 3;
switch (diaSemana) {
case 1:
console.log('Segunda');
break;
case 2:
console.log('Terça');
break;
case 3:
console.log('Quarta');
break;
default:
console.log('Outro dia');
}
// for clássico
for (let i = 1; i <= 3; i++) {
console.log(`Contagem: ${i}`);
}
// for...of (valores de um array)
const frutas = ['maçã', 'banana', 'uva'];
for (const fruta of frutas) {
console.log(`Fruta: ${fruta}`);
}
// for...in (chaves de um objeto)
const pessoa = { nome: 'Ana', idade: 28 };
for (const chave in pessoa) {
console.log(`${chave}: ${pessoa[chave]}`);
}
// while
let contador = 0;
while (contador < 3) {
console.log(`While: ${contador}`);
contador++;
}
// break e continue
for (let i = 1; i <= 5; i++) {
if (i === 3) continue; // pula o 3
if (i === 5) break; // para no 5
console.log(`Número: ${i}`);
}