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!