1
resposta

[Dúvida] dúvida if else else if

Eu vi uma pessoa com dúvida nesse else if... e também fiquei com dúvida nisso:

if (x > 0) {
  console.log("Positivo");
} else if (x < 0) {
  console.log("Negativo");
} else {
  console.log("Zero");
}

Depois de ver a explicação dada pelo monitar, fiquei com a seguinte dúvida: quando colocamos um if dentro do else:

} else {
    if(condição) {
    // executa código
    } else {
    // executa }
}

...A diferença para um else if mostrado no primeiro código desta mensagem seria apenas que: na execução if/else, em que os dois estão dentro do primeiro else, isso estaria ocorrendo dentro de um ''dominío'' pertencente ao else inicial? E no código inicial em que tenho else if...else, esse if/else após o else inicial estariam ocorrendo "fora" desse "domínio"... achei meio teórico/filosófico a explicação com as imagens, no fim os dois vão dar no mesmo né? Na visualização teórica consigo até ver diferença, mas na prática as duas acabam dando a mesma coisa, correto?

1 resposta

Julio, boa tarde! A diferença é só estrutural. O else if é um atalho para facilitar a leitura quando você tem várias condições em sequência. Quando você coloca um if dentro do else, tecnicamente você tá aninhando (criando um “bloco interno”), mas o comportamento lógico vai ser o mesmo: ele só entra no segundo if se o primeiro falhar.

isso não muda o resultado final da execução. É mais sobre estilo e clareza. else if é só uma forma mais limpa e direta de escrever um if dentro de um else.