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);