A instrução switch case é uma alternativa à instrução if else, else if e faz quase a mesma coisa. Uma instrução switch case testa uma variável ou expressão em um intervalo de valores até que uma correspondência seja encontrada e, em seguida, executa o bloco de código correspondente a essa correspondência.
🚨DICA: Crie um projeto de programação web com HTML5, CSS3 e JavaScript do zero em 3 aulas: MiniCurso Gratuito! 🚀
O switch
é uma estrutura de controle de fluxo em JavaScript que permite que você teste várias condições diferentes e execute um código específico para cada uma delas. O switch
é usado com o case
, que especifica as diferentes condições a serem testadas, e o break
, que interrompe a execução do switch
quando uma condição é atendida.
let day = "segunda-feira";
switch (day) {
case "segunda-feira":
console.log("Hoje é segunda-feira.");
break;
case "terça-feira":
console.log("Hoje é terça-feira.");
break;
case "quarta-feira":
console.log("Hoje é quarta-feira.");
break;
default:
console.log("Hoje é outro dia da semana.");
}
Neste exemplo, estamos usando o switch
para testar o valor da variável day
. Se o valor for “segunda-feira”, a mensagem “Hoje é segunda-feira.” é impressa no console. Se o valor for “terça-feira”, a mensagem “Hoje é terça-feira.” é impressa no console. Se o valor for “quarta-feira”, a mensagem “Hoje é quarta-feira.” é impressa no console. Se o valor for qualquer outra coisa, a mensagem “Hoje é outro dia da semana.” é impressa no console.
O switch
é útil quando você quer testar várias condições diferentes e executar um código específico para cada uma delas. É uma alternativa ao uso de vários if
e else if
, que pode ser menos legível e mais difícil de manter.
A sintaxe do switch
switch (expressão) {
case valor1:
// código a ser executado se expressão == valor1
break;
case valor2:
// código a ser executado se expressão == valor2
break;
...
default:
// código a ser executado se nenhum dos cases for verdadeiro
}
A expressão é avaliada e comparada com cada um dos valores especificados nos cases. Se a expressão corresponder a um dos valores, o código associado ao case é executado. O break
interrompe a execução do switch
e impede que o código dos cases subsequentes seja executado. Se nenhum dos cases for verdadeiro, o código associado ao default
é executado. Se não houver um default
, o switch
simplesmente termina sem executar nenhum código.
É importante notar que o break
é usado para interromper a execução do switch
, mas se você quiser que o código de vários cases seja executado, pode usar o fallthrough
para continuar a execução para o próximo case. Aqui está um exemplo de como usar o fallthrough
:
let number = 3;
switch (number) {
case 1:
case 2:
case 3:
console.log("O número é 1, 2 ou 3.");
break;
case 4:
console.log("O número é 4.");
break;
default:
console.log("O número é outro.");
}
Neste exemplo, se o valor da variável number
for 1, 2 ou 3, a mensagem “O número é 1, 2 ou 3.” é impressa no console. Isso acontece porque não colocamos um break
após os cases 1 e 2, então a execução é continuada para o próximo case. Se o valor da variável number
for 4, a mensagem “O número é 4.” é impressa no console. Se o valor for qualquer outro número, a mensagem “O número é outro.” é impressa no console.
Atenção: Aprenda Javascript no melhor treinamento do Brasil com foco no mercado de trabalho!
Diferença entre o switch case e if else
Uma instrução switch case difere de uma instrução if else em um aspecto importante. A instrução switch é executada linha por linha (ou seja, instrução por instrução). Assim que o JavaScript encontrar uma cláusula case avaliada como true, ele não apenas executará o código correspondente à cláusula case, mas também executará todas as cláusulas case subsequentes até que o bloco switch termina automaticamente.
Para evitar isso, você deve incluir uma instrução break
após cada case (como você pode ver no exemplo acima). A instrução break informa ao interpretador JavaScript para sair do bloco de instrução switch…case imediatamente após a execução do código associado ao primeiro caso verdadeiro.
No entanto, a instrução break não é necessária quando a cláusula caseor padrão termina em uma instrução switch. Ao agrupar a última cláusula case ou instrução switch com . Isso evitará possíveis erros de programação posteriormente se você adicionar outra instrução case à instrução switch.defaultbreak
A cláusula padrão é uma cláusula opcional que especifica o que fazer se o caso não corresponder à expressão switch. A cláusula padrão não precisa ser a última cláusula que aparece na instrução switch. Aqui está um exemplo onde default não é a última cláusula.
Leia mais: Javascript: guia sobre if e else