JavaScript Básico 19 – Projeto Calculadora (Parte 5)

Neste artigo, serão disponibilizados e explicados os códigos utilizados na parte cinco do nosso projeto de calculadora. Caso ainda não tenha visto as partes 1, 2, 3 e 4 do projeto da Calculadora, acesse e obtenha o HTML e CSS necessários para a criação do layout desta calculadora:

Dentro do nosso projeto, iremos criar uma função que será utilizada para atribuir uma função para o operador clicado.

  • Se o operador clicado for o “+”, atribuiremos a função somarValores;
  • Se o operador clicado for o “-“, atribuiremos a função subtrairValores;
  • Se o operador clicado for o “*”, atribuiremos a função multiplicarValores;
  • Se não for nenhum destes operadores, atribuiremos a função dividirValores.
// função que atribui a operação correta ao objeto calculo
function atribuirOperacao(operador){
    if(operador == "+"){
        calculo.funcaoParaCalcular = somarValores;
    } else if(operador == "-"){
        calculo.funcaoParaCalcular = subtrairValores;
    } else if(operador == "*"){
        calculo.funcaoParaCalcular = multiplcarValores;
    } else {
        calculo.funcaoParaCalcular = dividirValores;
    }
}

Criada a função atribuirOperacao, criaremos uma função chamada clicarOperador. Nesta função, verificaremos se o operador clicado é um número. Se for um número, adicionaremos ele ao objeto cálculo, na propriedade primeiroValor. Se clicarmos primeiramente em um operador, ele não será adicionado à propriedade primeiroValor.

Criaremos também uma variável operador, que receberá como atribuição o valor do botão que será clicado. Esta variável será utilizada na nossa função atribuirOperacao, e também terá seu conteúdo mostrado no input.

// função que atualiza o objeto calculo ao clicar nos operadores
function clicarOperador() {
    if(!isNaN(inputResultado.value)){
        calculo.primeiroValor = Number(inputResultado.value);
    }

    let operador = event.target.textContent;
    atribuirOperacao(operador);
    inputResultado.value = operador;
}
if(!isNaN(inputResultado.value)):

Utilizando esta função, estamos buscando o valor do input. Queremos que este valor seja numérico. Utilizaremos a função isNaN, que nos diz “não é um número”. Mas como queremos um valor numérico, precisamos utilizar a Negação (!), que nos retorna o contrário da função. Ela nos retornaria algo como “NÃO não é um Número”, ou seja, “É um número”. (Um pouco confuso, leia somente como “É um valor numérico”).

event.target.textContent:

Esta propriedade nos retorna o conteúdo de texto (textContent) do local onde o clique foi pressionado (target).

Está gostando do projeto? Comente abaixo e compartilhe!

Calculadora (Parte 6)

Deixe um comentário