2
respostas

Minha solução IF/ELSE

Passar a operação como parâmetro.

function calcular(n1, n2, operacao) {
  if (operacao === "soma") {
    return n1 + n2;
  } else if (operacao === "multiplicacao") {
    return n1 * n2;
  } else if (operacao === "divisao") {
    return n1 / n2;
  } else {
    return "Operação inválida!";
  }
}

// uso
console.log(Number(calcular(10, 3, "divisao").toFixed(2))); // 3.3333333333333335
console.log(calcular(4, 2, "divisao")); // 2

Obs.: Garante valor numerico console.log(Number(calcular(10, 3, "divisao").toFixed(2))); // 3.3333333333333335
e controlar casas decimais Usando toFixed()

2 respostas

Oi, Claudeny! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Gostei bastante da forma como você estruturou a função com base na operação como parâmetro, isso deixa o código bem flexível e reutilizável. Também chamou atenção o cuidado com o toFixed() para controlar casas decimais e o uso do Number() para garantir o tipo numérico, isso mostra atenção a detalhes importantes no tratamento dos dados.

Uma dica interessante para o futuro é utilizar um objeto para mapear as operações, evitando vários if/else e deixando o código mais organizado:


function calcular(n1, n2, operacao) {
  const operacoes = {
    soma: n1 + n2,
    multiplicacao: n1 * n2,
    divisao: n1 / n2
  };

  return operacoes[operacao] || "Operacao invalida";
}

Esse código cria um objeto com as operações e retorna diretamente o resultado correspondente, tornando o código mais limpo e fácil de expandir.

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

OK, Obrigado.