1
resposta

Resolução - Exercício 2 - Condicionais JS

function informarTemperatura(temperatura,callback){
    console.log(`Classificando a temperatura: ${temperatura}`)
    const resultado = callback(temperatura)
    console.log(resultado)
}

function classificarTemperatura(temperatura){
    if(temperatura < 15){
        return 'Frio.'
    }
    else if(temperatura > 25){
        return 'Quente.'
    }
    return 'Agradável.'
}

informarTemperatura(13,classificarTemperatura)
informarTemperatura(15,classificarTemperatura)
informarTemperatura(26,classificarTemperatura)

Optei por resolver utilizando callback functions para melhorar o fundamento.

1 resposta

Oii, Gabriel! Tudo bem?

É muito bacana ver você subindo o degrau da complexidade ao aplicar callback functions em um exercício de condicionais. Isso mostra que você não está apenas buscando a solução do problema, mas sim consolidando conceitos fundamentais de Programação Funcional em JavaScript.

A sua forma de separar a lógica de classificação da lógica de exibição é uma excelente prática de arquitetura de software.

  • Uso de callbacks: Ao passar classificarTemperatura como argumento para informarTemperatura, você torna seu código flexível. No futuro, se quiser exibir a temperatura em Fahrenheit ou traduzir as mensagens, basta criar uma nova função e passá-la como callback sem alterar a função principal.
  • Lógica condicional: Você simplificou a estrutura if/else de forma inteligente. Ao verificar primeiro as extremidades (menor que 15 e maior que 25), o que sobra entre esses valores é automaticamente "Agradável", dispensando a necessidade do operador lógico && usado no exemplo do instrutor.
  • Organização: O uso de Template Strings no console.log torna a saída no terminal muito mais legível e profissional.

Observação sobre a condicional

Apenas um detalhe técnico para alinhar com o requisito do exercício: o instrutor mencionou que de 15 a 25 a temperatura é "Agradável". No seu código, você usou:
else if(temperatura > 25)

Isso funciona perfeitamente para garantir que o 25 caia no "Agradável". É sempre bom ter atenção aos limites inclusivos (como o >= ou <=) para garantir que nenhum valor fique "no limbo" ou classificado incorretamente.

Continue explorando essas formas mais avançadas de escrever funções. Praticar callbacks agora vai te ajudar muito quando você começar a lidar com requisições assíncronas e eventos mais complexos no Front-end.

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