DEV Community

Pergunte ao especialista - If/else ou switch

Sob que condições devo usar uma escada if-else-if em vez de um switch ao codificar uma ramificação com vários caminhos?

Resposta:
Em geral, use uma escada if-else-if quando as condições que controlam o processo de seleção não dependerem de um único valor.

Exemplo:

if(x < 10) // ...
else if(y != 0) // ...
else if(!done) // ...

Essa sequência não pode ser recodificada com um switch porque todas as três condições envolvem variáveis diferentes – e tipos diferentes. Que variável controlaria o switch?
Você também terá que usar uma escada if-else-if ao testar valores de ponto flutuante ou outros objetos que não sejam de tipos válidos em uma expressão switch.

Top comments (0)