Declaração de troca de JavaScript
A switch
instrução é usada para executar ações diferentes com base em condições diferentes.
A declaração de troca de JavaScript
Use a switch
instrução para selecionar um dos muitos blocos de código a serem executados.
Sintaxe
switch(expression) {
case x:
// code block
break;
case y:
// code block
break;
default:
// code block
}
É assim que funciona:
- A expressão switch é avaliada uma vez.
- O valor da expressão é comparado com os valores de cada caso.
- Se houver uma correspondência, o bloco de código associado será executado.
- Se não houver correspondência, o bloco de código padrão será executado.
Exemplo
O getDay()
método retorna o dia da semana como um número entre 0 e 6.
(Domingo=0, Segunda=1, Terça=2 ..)
Este exemplo usa o número do dia da semana para calcular o nome do dia da semana:
switch (new Date().getDay()) {
case 0:
day = "Sunday";
break;
case 1:
day = "Monday";
break;
case 2:
day = "Tuesday";
break;
case 3:
day = "Wednesday";
break;
case 4:
day = "Thursday";
break;
case 5:
day = "Friday";
break;
case 6:
day = "Saturday";
}
O resultado do dia será:
Saturday
A palavra-chave pausa
Quando o JavaScript atinge uma palavra- break
chave, ele sai do bloco switch.
Isso interromperá a execução dentro do bloco switch.
Não é necessário quebrar o último caso em um bloco de comutação. O bloco quebra (termina) lá de qualquer maneira.
Nota: Se você omitir a instrução break, o próximo case será executado mesmo que a avaliação não corresponda ao case.
A palavra-chave padrão
A default
palavra-chave especifica o código a ser executado se não houver correspondência entre maiúsculas e minúsculas:
Exemplo
O getDay()
método retorna o dia da semana como um número entre 0 e 6.
Se hoje não for sábado (6) nem domingo (0), escreva uma mensagem padrão:
switch (new Date().getDay()) {
case 6:
text = "Today is Saturday";
break;
case 0:
text = "Today is Sunday";
break;
default:
text = "Looking forward to the Weekend";
}
O resultado do texto será:
Today is Saturday
O default
caso não precisa ser o último caso em um bloco de switch:
Exemplo
switch (new Date().getDay()) {
default:
text = "Looking forward to the Weekend";
break;
case 6:
text = "Today is Saturday";
break;
case 0:
text = "Today is Sunday";
}
Se default
não for o último caso no bloco switch, lembre-se de encerrar o caso padrão com uma quebra.
Blocos de código comum
Às vezes, você desejará que diferentes caixas de comutação usem o mesmo código.
Neste caso de exemplo, 4 e 5 compartilham o mesmo bloco de código e 0 e 6 compartilham outro bloco de código:
Exemplo
switch (new Date().getDay()) {
case 4:
case 5:
text = "Soon it is Weekend";
break;
case 0:
case 6:
text = "It is Weekend";
break;
default:
text = "Looking forward to the Weekend";
}
Detalhes da comutação
Se vários casos corresponderem a um valor de caso, o primeiro caso será selecionado.
Se nenhum caso correspondente for encontrado, o programa continuará com o rótulo padrão .
Se nenhum rótulo padrão for encontrado, o programa continua para a(s) instrução(ões) após a troca .
Comparação Estrita
Casos de comutação usam comparação estrita (===).
Os valores devem ser do mesmo tipo para corresponder.
Uma comparação estrita só pode ser verdadeira se os operandos forem do mesmo tipo.
Neste exemplo não haverá correspondência para x:
Exemplo
let x = "0";
switch (x) {
case 0:
text = "Off";
break;
case 1:
text = "On";
break;
default:
text = "No value found";
}