Estrutura condicional switch-case


A estrutura condicional switch-case é uma alternativa mais eficiente e organizada ao encadeamento tradicional de if-else em situações em que você precisa avaliar uma variável em relação a vários valores possíveis.

O switch avalia uma expressão e, com base no valor dessa expressão, redireciona para uma das várias instruções case correspondentes. Se nenhum dos casos coincidir com o valor da expressão, você pode fornecer um bloco de código opcional usando a declaração default.

Exemplo

Utilização do if-else

Vamos considerar um exemplo em que queremos determinar o dia da semana com base no número retornado pela função getDay de um objeto Date:

const data = new Date();
const diaSemana = data.getDay();
let diaSemanaTexto;
 
if(diaSemana === 0) {
  diaSemanaTexto = "Domingo";
} else if (diaSemana === 1) {
  diaSemanaTexto = "Segunda";
} else if (diaSemana === 2) {
  diaSemanaTexto = "Terça";
} else if (diaSemana === 3) {
  diaSemanaTexto = "Quarta";
} else if (diaSemana === 4) {
  diaSemanaTexto = "Quinta";
} else if (diaSemana === 5) {
  diaSemanaTexto = "Sexta";
} else if (diaSemana === 6) {
  diaSemanaTexto = "Sábado";
} else {
  diaSemanaTexto = "Inválido";
}
 
console.log(diaSemanaTexto);

Utilização do switch-case

A mesma lógica pode ser implementada de forma mais concisa com switch-case:

const data = new Date();
const diaSemana = data.getDay();
let diaSemanaTexto;
 
switch (diaSemana) {
  case 0:
    diaSemanaTexto = "Domingo";
    break;
 
  case 1:
    diaSemanaTexto = "Segunda";
    break;
 
  case 2:
    diaSemanaTexto = "Terça";
    break;
 
  case 3:
    diaSemanaTexto = "Quarta";
    break;
 
  case 4:
    diaSemanaTexto = "Quinta";
    break;
 
  case 5:
    diaSemanaTexto = "Sexta";
    break;
 
  case 6:
    diaSemanaTexto = "Sábado";
    break;
 
  default:
    diaSemanaTexto = "Inválido";
}
 
console.log(diaSemanaTexto);

Referências