Resumo : neste tutorial, você aprenderá como usar a switch
instrução JavaScript para executar um bloco com base em múltiplas condições.
Introdução à instrução switch case JavaScript
A switch
instrução avalia um expression
, compara seus resultados com case
valores e executa a instrução associada ao case
valor correspondente.
O seguinte ilustra a sintaxe da switch
instrução:
switch (expression) {
case value1:
statement1;
break;
case value2:
statement2;
break;
case value3:
statement3;
break;
default:
statement;
}
Linguagem de código: JavaScript ( javascript )
Como funciona.
- Primeiro, avalie
expression
dentro dos parênteses após aswitch
palavra-chave. - Segundo, compare o resultado da expressão com
value1
,value2
,… nascase
ramificações de cima para baixo. Aswitch
instrução usa a comparação estrita (===
). - Terceiro, execute a instrução na
case
ramificação onde o resultado de éexpression
igual ao valor que segue acase
palavra-chave. Abreak
instrução sai daswitch
instrução. Se você pular abreak
instrução, a execução do código passará da ramificação do caso original para a próxima. Se o resultado da expressão não for estritamente igual a nenhum valor, aswitch
instrução executarástatement
nadefault
ramificação.
A switch
instrução irá parar de comparar o expression
resultado do com os valores restantes do caso, desde que encontre uma correspondência.
A switch
declaração é como a declaração if…else…if . Mas tem uma sintaxe mais legível.
O fluxograma a seguir ilustra a switch
afirmação:
Na prática, muitas vezes você usa uma switch
instrução para substituir uma instrução complexa if...else...if
para tornar o código mais legível.
Tecnicamente, a switch
afirmação é equivalente à seguinte if...else...if
afirmação:
if (expression === value1) {
statement1;
} else if (expression === value2) {
statement2;
} else if (expression === value3) {
statement3;
} else {
statement;
}
Linguagem de código: JavaScript ( javascript )
Exemplos de casos de mudança de JavaScript
Vejamos alguns exemplos de uso da switch
instrução JavaScript.
1) Usando a instrução switch JavaScript para obter o dia da semana
O exemplo a seguir usa a switch
instrução para obter o dia da semana com base em um número de dia:
let day = 3;
let dayName;
switch (day) {
case 1:
dayName = 'Sunday';
break;
case 2:
dayName = 'Monday';
break;
case 3:
dayName = 'Tuesday';
break;
case 4:
dayName = 'Wednesday';
break;
case 5:
dayName = 'Thursday';
break;
case 6:
dayName = 'Friday';
break;
case 7:
dayName = 'Saturday';
break;
default:
dayName = 'Invalid day';
}
console.log(dayName); // Tuesday
Linguagem de código: JavaScript ( javascript )
Saída:
Tuesday
Como funciona.
Primeiro, declare a variável do dia que contém o número do dia e a variável do nome do dia (dayName).
Segundo, obtenha o dia da semana com base no número do dia usando o switch
extrato. Se o dia for 1
, o dia da semana será Sunday
. Se o dia for 2
, o dia da semana será Monday
, e assim por diante.
Terceiro, envie o dia da semana para o console.
2) Usando a instrução switch JavaScript para obter a contagem de dias com base em um mês
O exemplo a seguir usa a switch
instrução para obter a contagem de dias de um mês:
let year = 2016;
let month = 2;
let dayCount;
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
dayCount = 31;
break;
case 4:
case 6:
case 9:
case 11:
dayCount = 30;
break;
case 2:
// leap year
if ((year % 4 == 0 && !(year % 100 == 0)) || year % 400 == 0) {
dayCount = 29;
} else {
dayCount = 28;
}
break;
default:
dayCount = -1; // invalid month
}
console.log(dayCount); // 29
Linguagem de código: JavaScript ( javascript )
Neste exemplo, temos quatro casos:
- Se o mês for 1, 3,5, 7, 8, 10 ou 12, o número de dias de um mês é 31.
- Se o mês for 4, 6, 9 ou 11, o número de dias desse mês será 30.
- Se o mês for 2 e o ano não for bissexto, o número de dias será 28. Se o ano for bissexto, o número de dias será 29.
- Se o mês não estiver no intervalo válido (1-12), a
default
ramificação é executada e define adayCount
variável como -1, o que indica o mês inválido.
Resumo
- A
switch
instrução avalia uma expressão, compara seu resultado comcase
valores e executa a instrução associada ao caso correspondente. - Use a
switch
instrução em vez de umaif...else...if
instrução complexa para tornar o código mais legível. - A
switch
instrução usa a comparação estrita (===
) para compararexpression
com oscase
valores.