🔢

Calculadora Web

🧑‍🍳 Cocinero⏱️ 20 minutos

📋 Prerequisitos sugeridos

  • JavaScript básico
  • HTML/CSS

Lo que vas a construir

Una calculadora web funcional con React y TypeScript. Tendra botones numericos del 0-9, operaciones basicas (+, -, *, /), manejo de decimales, y un display que muestra la operacion actual. El diseno imitara una calculadora fisica real. Aprenderas a manejar estado complejo, eventos de click, y logica matematica en una interfaz interactiva.


Paso 1: Pídele a una IA la calculadora

Necesito una calculadora web con:
- Operaciones: +, -, *, /
- Botones numéricos 0-9
- Botón de igual y clear
- Display que muestre la operación
- Manejo de decimales
- React con TypeScript
- Tailwind CSS para estilos
- Diseño tipo calculadora física

Dame el código completo.

Conceptos clave

ConceptoImplementación
EstadoNúmero actual, operación pendiente
EventosonClick en cada botón
LógicaFunción que evalúa la expresión

Código típico

const [display, setDisplay] = useState('0')
const [prevValue, setPrevValue] = useState<number | null>(null)
const [operator, setOperator] = useState<string | null>(null)

const handleNumber = (num: string) => {
  setDisplay(display === '0' ? num : display + num)
}

const handleOperator = (op: string) => {
  setPrevValue(parseFloat(display))
  setOperator(op)
  setDisplay('0')
}

const calculate = () => {
  if (prevValue !== null && operator) {
    const current = parseFloat(display)
    let result: number
    switch (operator) {
      case '+': result = prevValue + current; break
      case '-': result = prevValue - current; break
      case '*': result = prevValue * current; break
      case '/': result = prevValue / current; break
      default: return
    }
    setDisplay(String(result))
  }
}

Mejoras posibles

  • Historial de operaciones
  • Funciones científicas (%, √)
  • Teclado numérico
  • Modo oscuro

Próximo paso

Quiz Interactivo — Lógica de juegos