Importante

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!

3
respostas

Exercicio Classificação de idades para uma atividade

Olá, bom dia,
Segue minha resolução do exercicio, e queria saber se há necessidade de usar o &&(and) ja que funciona sem, ou se pode causar algum problema futuro??

const idade2 = 12;
if (idade2<12){
console.log('Infantil');
} else if (idade2<18){
console.log('Juvenil');
} else {
    console.log('Adulto');
}
3 respostas

Oi, Stephanie, como vai?
Agradeço por compartilhar seu código com a comunidade Alura.

Sua lógica ficou correta. Nesse caso, não há necessidade de usar &&, porque a estrutura if / else if / else já faz a verificação em sequência: se a idade não for menor que 12, o próximo teste já considera automaticamente idades a partir de 12. Uma dica interessante para o futuro é usar && quando você quiser deixar os intervalos mais explícitos no código, como neste exemplo:


const idade = 12;

if (idade < 12) {
  console.log('Infantil');
} else if (idade >= 12 && idade < 18) {
  console.log('Juvenil');
} else {
  console.log('Adulto');
}

Esse código faz a mesma classificação, mas deixa claro que Juvenil corresponde ao intervalo de 12 ate 17 anos. No seu exemplo, as duas formas funcionam bem. Você pretende manter a versão mais curta ou prefere deixar os intervalos mais visíveis com &&?

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!
Conteúdos relacionados
Como utilizar operadores de comparação em Javascript
O que é if em JavaScript? Aprendendo a usar if e if else em JS

Olá,
Então na resolução do exercicio é utilizado o && pois no enunciado ele diz sobre a faixa de valores para cada contexto, por isso fiquei confusa em quando usar ou não usar ja que nesse caso a utilização do && não alterou nada no resultado.

Oi, Stephanie.

O uso do && não mudou o resultado porque, dentro de uma estrutura if / else if / else, o JavaScript avalia as condições em ordem. Quando o código chega no else if (idade2 < 18), ele já sabe que a idade não é menor que 12, porque essa primeira condição já foi testada antes. Por isso, nesse caso, escrever apenas idade2 < 18 funciona corretamente.

O && é usado na resolução para deixar a faixa de valores mais explícita, como o enunciado fala em intervalos. As duas formas estão corretas, mas a versão com && deixa mais claro para quem lê o código que a categoria Juvenil vai de 12 até 17 anos:


const idade2 = 12;

if (idade2 < 12) {
  console.log('Infantil');
} else if (idade2 >= 12 && idade2 < 18) {
  console.log('Juvenil');
} else {
  console.log('Adulto');
}

Então, use sem && quando a sequência do if / else if já deixar a lógica clara, e use com && quando quiser mostrar diretamente o intervalo completo da condição. Para esse exercício, como o enunciado fala em faixa de valores, a resolução com && ajuda na leitura, mas a sua solução não causa problema futuro. Faz sentido essa diferença entre funcionar corretamente e deixar o intervalo mais explícito?

Fico à disposição. Abraços e bons estudos!

Conteúdos relacionados
Como utilizar operadores de comparação em Javascript