🤔 Para Refletir : "Seu jogo não foi feito para a gaveta, já postou uma screenshot dele hoje?" - Aleth728

Javascript - Switch & Case

Administração Administração
♫ in the jungle, the mighty jungle, the lion sleeps tonight ♫
Postagens
465
Bravecoins
2.092
sDyZPNO.png



O que é Switch & Case?

Os comandos Switch e Case são utilizados para executar certos conjuntos de código com base em uma expressão lógica, semelhante aos comandos if e else. A diferença é que eles são utilizados apenas para verificar se tal valor é igual a uma ou várias ocorrências.



Como utilizar Switch & Case?

A sintaxe de Switch e Case é o seguinte:

Javascript:
switch(variavel) {
    case valor1:
        // código se corresponde ao valor1
        break;
    case valor2:
        // código se corresponde ao valor2
        break;
    case valor3:
        // código se corresponde ao valor3
        break;
    //... assim por diante
    default:
        // código se corresponder a qualquer outro valor
        // que não corresponda aos outros cases
        break;
}

É definida primeiro a palavra-chave switch. Nele é especificado uma variável a ser verificada dentro de parênteses. Depois, o escopo de switch é aberto com chaves {}, aqui são feitos os cases onde para cada um deles é especificado um valor que se deseja verificar.

Depois de especificado o valor, é utilizado : dois pontos e logo abaixo o código que é executado caso o valor do case da variavel mencionada antes for correspondido.

Logo depois do código, é utilizado o comando break para determinar o término do código do case atual e o término da verificação do switch.

Só esses switches e cases são o suficiente para que as verificações funcionem.

Mas perceba que é definido também a palavra-chave default no final do switch depois dos cases. O default é como um case mas neste caso ele só é executado se nenhum dos valores dos cases anteriores corresponderem ao valor da variavel. Ele, entretanto, executará os códigos que estão depois dele, seguido de break.

O default é opcional, você não precisa declará-lo no final se você quiser. Mas caso você não especifique, qualquer não correspondência dos cases dentro do switch acabará por não executar nenhum código nele e a execução será passada para o próximo código.

E a quantidade de cases vai do programador colocar a quantidade que ele quiser.



Quando utilizar Switch & Case?

Observe o código de if e else a seguir:

Javascript:
let numeroSemana = 2;
let textoSemana = "";

if (numeroSemana == 0) {
    textoSemana = "Domingo";
} else if (numeroSemana == 1) {
    textoSemana = "Segunda-feira";
} else if (numeroSemana == 2) {
    textoSemana = "Terça-feira";
} else if (numeroSemana == 3) {
    textoSemana = "Quarta-feira";
} else if (numeroSemana == 4) {
    textoSemana = "Quinta-feira";
} else if (numeroSemana == 5) {
    textoSemana = "Sexta-feira";
} else if (numeroSemana == 6) {
    textoSemana = "Sábado";
} else {
    textoSemana = "Inválido";
}

console.log("O dia da semana é: " + textoSemana);

Perceba que são realizadas diversas verificações sobre uma variável a fim de determinar um resultado para outra e exibi-la logo a seguir.

Agora, veja o mesmo código só que utilizando switch e case a seguir:

Javascript:
let numeroSemana = 2;
let textoSemana = "";

switch(numeroSemana) {
    case 0:
        textoSemana = "Domingo";
        break;
    case 1:
        textoSemana = "Segunda-feira";
        break;
    case 2:
        textoSemana = "Terça-Feira";
        break;
    case 3:
        textoSemana = "Quarta-Feira";
        break;
    case 4:
        textoSemana = "Quinta-Feira";
        break;
    case 5:
        textoSemana = "Sexta-Feira";
        break;
    case 6:
        textoSemana = "Sábado";
        break;
    default:
        textoSemana = "Inválido";
        break;
}

console.log("O dia da semana é: " + textoSemana);

Ambos os códigos funcionam da mesma maneira. Porém, com Switch & Case, a leitura do código para o programador é mais legível e organizado. No entanto, são utilizadas várias linhas de código.

Em Switch & Case, é possível realizar duas ou mais possibilidades para uma execução de código. Veja o exemplo abaixo:

Javascript:
let numero = 3;

switch(numero) {
    case 2:
    case 4:
    case 6:
    case 8:
        console.log("É par!");
        break;
    case 1:
    case 3:
    case 5:
    case 7:
    case 9:
        console.log("É impar");
        break;
}

//Saída: "É impar!"

O código acima é semelhante a um conjunto de expressões lógicas ligadas à vários operadores OR. Veja o exemplo de como seria isso utilizando comando if e else:

Javascript:
let numero = 3;

if (numero == 2 || numero == 4 || numero == 6 || numero == 8) {
    console.log("É par!");
} else if (numero == 1 || numero == 3 || numero == 5 || numero == 7 || numero == 9) {
    console.log("É impar!");
}

// Saída: "É impar"

Mais informações
 
Última edição:
Caraca, meu! E não é que eu entendi tudo mesmo?! o_O

Muito bom. Nem sabia que tinha esse comando. Sempre ficava pensando:
E se o dia for tal, mostra tal...
Mas se o dia for tal, mostra tal...
E assim  por diante.

Como vc disse, gerava uma confusão na minha cabeça. Mas esse comando aí... Top!
 
Mesmo depois de muito tempo usando JScript eu nunca usei Switch por que tinha medo de errar qualquer coisa, então usava IF mesmo kkkkk

Mas se analisar da maneira que você ensinou parece economizar memória lógica ou é impressão minha, já que ele dá um "break" assim que atingir a condição necessária?
 
Crixus comentou:
Mesmo depois de muito tempo usando JScript eu nunca usei Switch por que tinha medo de errar qualquer coisa, então usava IF mesmo kkkkk

Mas se analisar da maneira que você ensinou parece economizar memória lógica ou é impressão minha, já que ele dá um "break" assim que atingir a condição necessária?

É mais para não causar problemas, e se estiver usando em um programa, sim, pode econimizar, mas isso em casos da variável registrada na Switch mudar constantemente por um sistema de um código de valores aleatórios ou algo do tipo. O uso do break nos Cases é opcional, portanto, qualquer sistema que estiver usando para mudar o valor da variável pode influenciar durante o processamento da Switch.
 
Mais um tópico de Javascript reformulado. E ele é o Switch & Case.

Aproveitem para tirar dúvidas sobre o assunto caso tenham postando elas aqui mesmo.

~ Até mais 🦁
 
Voltar
Topo