Switch

Em JavaScript, o switch é uma estrutura de controle que permite testar um valor contra uma lista de casos. Ele oferece uma maneira concisa de lidar com múltiplas condições. Aqui está a sintaxe básica de uma instrução switch:

switch (expressao) {
    case valor1:
        // código a ser executado se a expressão corresponder a valor1
        break;
    case valor2:
        // código a ser executado se a expressão corresponder a valor2
        break;
    // mais casos podem ser adicionados conforme necessário
    default:
        // código a ser executado se a expressão não corresponder a nenhum caso
}

Aqui está como a instrução switch funciona:

  1. A expressão é avaliada uma vez e comparada com os valores de cada case.
  2. Se houver correspondência, o bloco de código após esse case é executado.
  3. A declaração break é usada para sair do bloco switch. Se o break for omitido, o código continuará a executar o próximo case independentemente de corresponder à condição ou não. Isso é conhecido como “fall-through”.
  4. Se nenhum case corresponder à expressão, o bloco de código após o rótulo default (se existir) será executado.

Aqui está um exemplo de como você pode usar uma instrução switch para determinar o dia da semana com base em um valor numérico (0 para domingo, 1 para segunda-feira, e assim por diante):

var dia = 3;
var nomeDoDia;

switch (dia) {
    case 0:
        nomeDoDia = "Domingo";
        break;
    case 1:
        nomeDoDia = "Segunda-feira";
        break;
    case 2:
        nomeDoDia = "Terça-feira";
        break;
    case 3:
        nomeDoDia = "Quarta-feira";
        break;
    case 4:
        nomeDoDia = "Quinta-feira";
        break;
    case 5:
        nomeDoDia = "Sexta-feira";
        break;
    case 6:
        nomeDoDia = "Sábado";
        break;
    default:
        nomeDoDia = "Dia inválido";
}

console.log("Hoje é " + nomeDoDia);

Neste exemplo, se dia for 3, a saída será: “Hoje é Quarta-feira.”

Lembre-se de usar a declaração break apropriadamente para evitar comportamentos de “fall-through” não intencionais.