En JavaScript, trabajar con variables numéricas puede parecer sencillo al principio, pero en realidad involucra una serie de detalles importantes que conviene conocer para evitar errores y mantener la precisión en los cálculos.

¿Qué es una variable numérica?

Los números en JavaScript son un tipo de dato primitivo. Para declarar un número, basta con escribirlo directamente. También existe una forma alternativa usando el constructor new Number(), aunque no es la opción recomendada por su complejidad innecesaria.

javascriptCopiarEditar// Forma preferida (notación literal)
const numero = 4;
const decimal = 15.8;
const numeroGrande = 5_000_000;

// Forma menos recomendada (con constructor)
const numeroObj = new Number(4);

Puedes usar el guion bajo (_) para mejorar la legibilidad de números largos sin que afecte su valor:

javascriptCopiarEditar5_000_000 === 5000000; // true

Cuando intentas crear un número a partir de algo que no lo es, como una letra, obtendrás el valor especial NaN (Not a Number). Este comportamiento lo abordaremos en profundidad más adelante.

Precisión y grandes cantidades

JavaScript tiene límites en la precisión de los números. Si el valor excede lo que el lenguaje puede representar de forma segura, se produce una pérdida de precisión:

javascriptCopiarEditarconst noPreciso = 482598752875287528533;  // Se redondea automáticamente
const preciso = 482598752875287528533n;   // Con BigInt se mantiene exacto

Al agregar la letra n, se convierte el número en un tipo BigInt, ideal para representar grandes cantidades sin errores.

Límites seguros

JavaScript utiliza el formato de coma flotante en doble precisión para manejar los números. Por esta razón, existen rangos seguros definidos por constantes:

  • Number.MAX_SAFE_INTEGER – Mayor número entero seguro (2⁵³ – 1)
  • Number.MIN_SAFE_INTEGER – Menor número entero seguro
  • Number.EPSILON – Mínima diferencia representable entre dos números distintos

Si necesitas operaciones de alta precisión, considera BigInt o librerías como decimal.js.

Valores infinitos

Puedes representar cantidades extremadamente grandes con Infinity y -Infinity. Son útiles cuando no te interesa el valor exacto, sino la noción de “inmenso”:

javascriptCopiarEditarNumber.POSITIVE_INFINITY; // +∞
Number.NEGATIVE_INFINITY; // -∞

Sin embargo, ten cuidado al operar con ellos, ya que pueden causar resultados indeterminados como NaN.

Verificaciones útiles

Existen funciones para comprobar el estado de un número:

javascriptCopiarEditarNumber.isFinite(42);          // true
Number.isInteger(4.6);        // false
Number.isSafeInteger(1e15);   // true
Number.isSafeInteger(1e16);   // false

Formatos de visualización

JavaScript permite convertir números a diferentes formatos:

  • .toFixed() – para establecer el número de decimales
  • .toExponential() – para usar notación científica
  • .toPrecision() – para controlar la cantidad total de cifras
javascriptCopiarEditar(1.25).toFixed(2);         // "1.25"
(523.75).toPrecision(3);   // "524"

Estas herramientas resultan muy útiles cuando necesitas mostrar números de manera precisa o clara en la interfaz de usuario.