ao longo dos meus dias de codificação em JavaScript, estava constantemente a debater se devia usar um estojo de interruptores ou uma declaração de ” se ” para o meu condicional. Então, naturalmente, eu decidi escrever um blog para avaliar as diferenças (para mim & você) e ver qual é melhor em circunstâncias específicas.
uma declaração de switch é geralmente mais eficiente do que um conjunto de ifs aninhados. Quando você tem que escolher qual usar, é baseado na legibilidade e na expressão que a declaração está testando.
basicamente, um if é usado para tomar uma decisão enquanto uma declaração de switch é usada para testar o valor da variável dada contra uma lista de valores de caso .
- a expressão dentro de uma declaração if decide se deve executar as declarações dentro do bloco if ou sob o outro bloco. Para switch, a expressão dentro da instrução switch decide qual o caso a executar.
- a declaração do if-else verifica a igualdade, bem como a expressão lógica. Por outro lado, troquem os controlos apenas por questões de igualdade.
- a instrução if avalia o inteiro, o carácter, o ponteiro ou o tipo de vírgula flutuante ou o tipo booleano. Por outro lado, switch statement avalia apenas um caractere ou um tipo inteiro de dados.
- a sequência de execução é como qualquer instrução sob Se o bloco irá executar ou as instruções sob outra instrução de bloco irá executar. No entanto, a expressão na instrução switch decide qual o caso a executar e se você não aplicar uma instrução break após cada caso que irá executar até o fim da instrução switch.
- para uma declaração if-else, se a expressão dentro da saída if for falsa, a declaração dentro do bloco else será executada. Para a instrução switch, se a expressão dentro da instrução switch se revelar falsa, então as instruções padrão são executadas.
- é conhecido por ser difícil editar declarações if-else uma vez que é tedioso rastrear onde a correção é necessária. Muitas pessoas concordam que é muito mais simples editar declarações switch uma vez que eles são fáceis de rastrear.Esta é a sintaxe geral de uma declaração if-else:
e esta é a sintaxe geral para switch:
a escada if-else é do tipo strict condition check, enquanto switch é do tipo de captura do valor do Salto.Algumas vantagens-chave da mudança sobre a escada de mão:
- uma declaração switch funciona muito mais rápido do que uma escada if-else equivalente. É porque o compilador gera uma mesa de salto para um interruptor durante a compilação. Como resultado, durante a execução, em vez de verificar qual caso é satisfeito, ele só decide qual caso tem que ser executado.
- é mais legível em comparação com declarações if-else.
no final, a escolha é sua e eu espero que este blog ajuda a levá-lo no caminho certo para tomar a decisão mais informada quando usar uma declaração if-else versos um caso de mudança!