toda vez que uso mais de uma vez o comando else, da erro assim, meus trabalhos sempre ficam bugados. abaixo eu coloco 2x else, e não consigo salvar, pois da sempre um problema, e tenho que optar sempre em usar um só. alguém pode me ajudar?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
toda vez que uso mais de uma vez o comando else, da erro assim, meus trabalhos sempre ficam bugados. abaixo eu coloco 2x else, e não consigo salvar, pois da sempre um problema, e tenho que optar sempre em usar um só. alguém pode me ajudar?
Olá Camila,
A estrutura do IF pode assumir três estruturas diferentes:
let a = 1;
if (a === 1) {
console.log('IF simples');
}
let a = 1;
if (a === 1) {
console.log('IF/ELSE -> Variavel A era 1');
} else {
console.log('IF/ELSE -> Variavel A era diferente de 1');
}
let a = 1;
if (a === 1) {
console.log('IF/ELSE -> Variavel A era 1');
} else if (a === 2) {
console.log('IF/ELSE -> Variavel A era 2');
} else {
console.log('IF/ELSE -> Variavel A era diferente de 1 e 2');
}
Assim, em uma estrutura IF, é possível ter apenas uma diretiva 'if', quantas diretivas 'else if' desejar, e apenas uma diretiva 'else'. Não é possível utilizar a estrutura com dois 'else' que você mostrou em sua imagem.
Isso porque: O 'else' é um bloco de código que só é executado quando as outras diretivas 'if' e 'else if' retornam 'false', logo, se ele já é um bloco chamado apenas quando as outras alternativas falham, não existe razão para dois blocos que funcionam da mesma forma.
Na estrutura da imagem, o código poderia ser:
while (chute !== numeroSecreto) {
...
if (chute === numeroSecreto) {
// neste caso, o chute é igual ao numero secreto
break;
} else if (chute > numeroSecreto) {
... // neste caso, o chute é maior do que o numero secreto
} else {
// neste caso, o chute não é igual, e nem maior do que o numero secreto, logo, ele é menor
...
}
}
Espero que tenha ajudado. Boa sorte :) Se isso respondeu sua dúvida, peço que marque a questão como concluída, por gentileza.