switch
Quando você compara a mesma variável com um monte de valores específicos, a
escada de else if fica longa e cansativa de ler. O switch é como uma mesa
telefônica: "dependendo do valor que entrar, vá para esta porta". Mesmo resultado,
muito mais organizado aos olhos:
const dia = "segunda";
switch (dia) {
case "sábado":
case "domingo":
console.log("Fim de semana 🎉");
break;
case "segunda":
console.log("Começa a semana");
break;
default:
console.log("Dia útil");
}
Como funciona
- A expressão do
switché avaliada (dia). - Procura-se o
casecujo valor coincida (com comparação tipo===). - Seu código é executado até encontrar um
break. - Se nada coincidir, o bloco
defaulté executado.
⚠️ PEGADINHA CLÁSSICA: o break que falta!
Sem break, a execução não para no seu case: ela transborda e continua
executando o próximo, e o próximo... (é o efeito "cascata"). Às vezes isso é usado
de propósito, como quando agrupamos "sábado" e "domingo" acima, mas
esquecê-lo sem querer é um dos bugs mais traiçoeiros que existem: o código "quase"
funciona e você fica louco procurando o porquê. Crie o hábito de digitar o
break junto com o case.
switchbrilha com valores fixos e conhecidos (dias, opções de menu, estados de um pedido). Para faixas (nota >= 5) oif/else ifainda é seu melhor amigo.
Você já sabe ramificar: seu programa escolhe caminhos. O próximo superpoder é repetir sem copiar e colar a mesma coisa mil vezes. Isso são os laços, e eles te esperam no próximo módulo.
Exemplos
Status de um pedido conforme o código
const codigo = 2;
switch (codigo) {
case 1:
console.log("Ativo");
break;
case 2:
console.log("Inativo");
break;
default:
console.log("Desconhecido");
}