Não consigo terminar a função calcular na minha calculadora

Estou tentando fazer uma calculadora, mas não consigo terminar a função calcular, que deve pegar o primeiro valor, olhar se depois do primeiro valor vem um operador, se após o primeiro valor vir um operador, pegar o segundo valor e fazer a operação digitada, imprimindo na tela logo depois.

const Calculadora = function(){
this.valorAtual = {};
const self = this;
this.digitoAtual = 0;

function addValorAtual(numero) {
    if (numero !== "button btn-symbol") {
        self.valorAtual[self.digitoAtual] = numero;
        self.digitoAtual++;
    }
}

function removeValor(numero) {
    self.digitoAtual--;
    self.valorAtual[self.digitoAtual] = null;
}

function addValor(numero) {
    /*pensar em como adicionar isso*/
}

function adicao() {
    self.digitoAtual = 0;
    self.valorAtual = {};
}

function subtrac() {
    self.digitoAtual = 0;
    self.valorAtual = {};
}

function multiplic() {
    self.digitoAtual = 0;
    self.valorAtual = {};
}

function divis() {
    self.digitoAtual = 0;
    self.valorAtual = {};
}

this.valoresACalcular = [];


function calcular() {

    this.soma = function (valor1, valor2){
        return valor1 + valor2;
    };
    this.subtracao = function (valor1, valor2) {
        return valor1 - valor2;
    }
    this.multiplicacao = function (valor1, valor2){
        return valor1 * valor2;
    }
    this.divisao = function (valor1, valor2) {
        return valor1/valor2;
    }

}

function removeUltimoValor(numero) {
    //remover último valor
}

function atualizarTela(){
    //imprimir tudo em tempo real.
}

}

Apenas o código (mal-formatado, aliás. Use o botão </> para formatar corretamente e ajudar a visualização) não nos ajuda muito. Conte o que está acontecendo, o resultado desejado e se retorna alguma exception ou algo assim.