08 ‐ Controle de fluxo - sabrinabm94/javascript GitHub Wiki

8 - Controle de Fluxo

O controle de fluxo em JavaScript nos permite controlar a execução do nosso código com base em condições específicas. Vamos aprender sobre estruturas de decisão e loops, fundamentais para o desenvolvimento de programas mais complexos.

8.1 Estruturas de Decisão

As estruturas de decisão permitem que o programa tome diferentes caminhos com base em condições avaliadas como verdadeiras ou falsas. As estruturas de decisão mais comuns em JavaScript são if, else if e else.

8.1.1 If

O exemplo abaixo demonstra o uso da estrutura if para verificar se uma pessoa é maior de idade com base na idade fornecida.

let age = 18;

if (age >= 18) {
    console.log('Você é maior de idade.');
}

A expressão age >= 18 é avaliada como verdadeira, então a mensagem "Você é maior de idade." será exibida no console.

8.1.2 Else if

Este exemplo mostra como usar a estrutura else if para exibir uma saudação com base no horário do dia.

let time = 14;

if (time < 12) {
    console.log('Bom dia!');
} else if (time < 18) {
    console.log('Boa tarde!');
} else {
    console.log('Boa noite!');
}

A hora é avaliada e uma mensagem é exibida com base no intervalo de tempo em que estamos.

8.2 Loops

Os loops permitem que você repita um bloco de código várias vezes até que uma condição seja atendida. Os loops mais comuns em JavaScript são for, while e do...while.

8.2.1 For

O exemplo abaixo usa um loop for para exibir os números de 0 a 4.

for (let i = 0; i < 5; i++) {
    console.log('Número:', i);
}

A variável i é inicializada com 0 e incrementada a cada iteração, exibindo os números de 0 a 4 no console.

8.2.2 While

Este exemplo usa um loop while para contar até 4.

let counter = 0;

while (counter < 5) {
    console.log('Contador:', counter);
    counter++;
}

O loop continua enquanto a condição counter < 5 for verdadeira. A cada iteração, o valor de counter é incrementado e exibido no console.

8.2.3 Do...while

Aqui, um loop do...while é utilizado para exibir os números de 0 a 4.

let number = 0;

do {
    console.log('Número:', number);
    number++;
} while (number < 5);

O bloco de código dentro do do é executado pelo menos uma vez, mesmo que a condição seja falsa.

8.2.4 Interrupção e Continuação de Loops

Às vezes, pode ser necessário interromper um loop ou pular para a próxima iteração com base em uma condição específica. Para isso, usamos as palavras-chave break, continue, e até mesmo return.

8.2.4.1 Break

O exemplo abaixo interrompe o loop quando i for igual a 5.

for (let i = 0; i < 10; i++) {
    if (i === 5) {
        break;
    }
    console.log('Número:', i);
}

O loop é interrompido quando i é igual a 5, evitando que mais números sejam exibidos.

8.2.4.2 Continue

Este exemplo pula para a próxima iteração quando i for igual a 2.

for (let i = 0; i < 5; i++) {
    if (i === 2) {
        continue;
    }
    console.log('Número:', i);
}

O loop continua, mas o número 2 é pulado e não é exibido no console.

8.2.4.3 Return

Aqui, a função findNumber retorna a posição do número no array e interrompe o loop quando o número é encontrado.

function findNumber(arr, target) {
    for (let i = 0; i < arr.length; i++) {
        if (arr[i] === target) {
            return i;
        }
    }
    return -1; 
    // Retorna -1 se o número não for encontrado
}

A função acima percorre o array procurando o número especificado. Se o número for encontrado, sua posição no array é retornada e o loop é interrompido. Se o número não for encontrado, -1 é retornado.

Neste capítulo, exploramos as estruturas de decisão e loops em JavaScript, ferramentas essenciais para controlar o fluxo de execução do nosso código e criar programas cada vez mais dinâmicos. No próximo capítulo, vamos nos aprofundar nos diversos tipos de loops disponíveis, desde o clássico loop "while" até o moderno "forEach", cada um oferecendo abordagens únicas para percorrer coleções de dados e executar ações repetidas, ampliando ainda mais suas habilidades em JavaScript.