Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

🧮 JavaScript Calculator – Learning Notes

Este projeto foi desenvolvido como prática de JavaScript, explorando conceitos básicos, manipulação do DOM e lógica de uma calculadora simples.


📚 Conceitos Básicos de JavaScript

  • Manipulação do DOM:
    Uso de document.querySelector e document.querySelectorAll para selecionar elementos HTML.

  • Eventos:
    Uso de addEventListener para capturar cliques nos botões.

  • Variáveis e tipos de dados:
    Trabalhando com string, number e coerção de tipos em JavaScript.

  • Condições e operadores lógicos:
    Estruturas if, else if, switch e operadores como ===, || e &&.


🔤 Manipulação e Formatação de Strings e Números

  • Métodos de string como .includes(), .replace(), .split() e expressões regulares (regex) para validar strings.
  • Conversão entre strings e números com parseFloat(), considerando vírgula como separador decimal.
  • Formatação de números com .toFixed() para limitar casas decimais.

⚙️ Funções e Controle de Fluxo

  • Definição de funções e passagem de parâmetros.
  • Uso de variáveis globais para manter estados (currentNumber, firstOperand, operator).
  • Lógica para reiniciar ou atualizar o estado da calculadora após uma operação.

➗ Lógica de Operações da Calculadora

  • Suporte a soma, subtração, multiplicação e divisão.
  • Tratamento de porcentagem (%) e inversão de sinal (±).
  • Prevenção de operações inválidas (como múltiplas vírgulas ou divisão por zero).

✅ Boas Práticas e Melhorias Possíveis

  • Melhorar manipulação da vírgula e do ponto para suportar diferentes locais.
  • Tratar erros como divisão por zero.
  • Separar o código em módulos ou funções menores para facilitar manutenção.

🔗 Referências e Leituras Úteis

Manipulação do DOM

Eventos em JavaScript

Manipulação de Strings

Conversão e Formatação Numérica

Funções, Escopo e Controle de Fluxo

Lógica da Calculadora

Extras


🚀 Próximos Passos

  • Adicionar suporte a mais operações matemáticas.
  • Criar testes automatizados para validar a lógica.
  • Melhorar o design da interface com CSS avançado.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages