1
resposta

Minha versão ficou bem resumida.

function avaliarDesempenho(nota, gerarMensagem)
{
    if (nota >= 70)
        {
          gerarMensagem(`Pontuação ${nota}, Parabens você foi aprovado!`);      
        } 
        else if (nota < 50) gerarMensagem(`Você foi reprovado! sua nota final foi ${nota}`);
        else gerarMensagem(`Você está de recuperação, sua nota foi ${nota}`);
}

let gerarMensagem = mensagem => console.log(mensagem);

avaliarDesempenho(90,gerarMensagem)
1 resposta

Oi, Eduardo! Como vai?

Gostei da forma como você deixou sua função bem direta e organizada. Você utilizou corretamente o parâmetro gerarMensagem como função callback, o que mostra que entendeu bem o conceito de passar função como argumento. Sua lógica condicional também está clara e objetiva, mantendo o código realmente bem resumido.

Uma dica interessante para o futuro é usar o operador ternário para deixar retornos condicionais ainda mais compactos quando fizer sentido. Veja este exemplo:


function avaliar(nota) {
  let resultado = nota >= 70 ? "Aprovado" : nota < 50 ? "Reprovado" : "Recuperacao";
  console.log("Pontuacao " + nota + " - " + resultado);
}

avaliar(80);

Nesse código usamos o operador ternário ? : para decidir o texto da mensagem em uma única linha, deixando a estrutura ainda mais enxuta.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!