Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Calculadora

fiz a minha usando um mapeamento.

function adicao(a, b) {
    return a + b;
}

function subtracao(a, b) {
    return a - b;
}

function multiplicacao(a, b) {
    return a * b;
}

function divisao(a, b) {
    if (b !== 0) {
        return a / b;
    } else {
        return "Erro: divisão por zero.";
    }
}



 
function calculadora(operacao, a, b) {

    const acoes = {
        soma: adicao,
        menos: subtracao,
        vezes: multiplicacao,
        divisao: divisao
    };

    if (acoes[operacao]) {
        return acoes[operacao](a,b);
    } else {
        return 'operação invalida';
    }
    
}

console.log(calculadora('soma', 11, 5));   
console.log(calculadora('vezes', 4, 2));
console.log(calculadora('divisao', 2, 2)); 
1 resposta
solução!

Olá, Tairone, tudo bem?

Que solução elegante!

Você utilizou uma abordagem excelente ao criar o objeto acoes para mapear as operações.

Essa técnica é muito superior a criar vários if/else ou um switch/case gigante, pois deixa o código mais limpo e escalável. Se amanhã você quiser adicionar uma operação de "potência" ou "resto da divisão", basta criar a função pequena e adicionar uma linha no objeto, sem precisar mexer na lógica principal da função calculadora.

Seu tratamento de erro para divisão por zero também ficou ótimo.

Bons estudos!

Sucesso

Imagem da comunidade