Contenido del curso

¿Qué se implementó en ES6?

BigInt y nullish ?? en JavaScript moderno

Resumen

Cuando trabajas con JavaScript moderno, dos herramientas de ECMAScript 11 te resuelven problemas concretos: manejar números enormes con BigInt y devolver valores por defecto cuando algo llega nulo con el operador nullish (??). Aquí entiendes cómo usarlas, cuándo aplican y por qué importan en tu día a día como desarrollador.

¿Qué es BigInt y cómo manejar números muy grandes en JavaScript?

JavaScript tiene un límite cuando trabajas con números grandes, y ahí entra BigInt como solución nativa para representar enteros de gran volumen sin perder precisión.

Tienes dos formas de declarar un BigInt. La primera es agregar una N al final del número, y la segunda es usar el constructor BigInt() pasando el valor numérico como argumento.

js const aBigNumber = 9007199254740991N; const anotherBigNumber = BigInt(9007199254740991);

console.log(aBigNumber); console.log(anotherBigNumber);

A simple vista no notas la diferencia en consola, pero cuando empiezas a hacer operaciones matemáticas con cifras que superan el límite seguro de los números normales, BigInt mantiene la exactitud que un Number tradicional ya no puede garantizar.

¿Cuándo debo usar BigInt en JavaScript? Cuando manipulas enteros más grandes que Number.MAX_SAFE_INTEGER (2^53 − 1) y necesitas precisión exacta en cálculos matemáticos, criptografía, timestamps de alta resolución o IDs muy largos.

Es una característica que probablemente no uses todos los días. De hecho, muchos desarrolladores no la han necesitado en producción, pero saber que existe te permite tomar la decisión correcta cuando aparezca el caso. [00:55]

¿Cómo funciona el operador nullish (??) en ECMAScript 11?

El operador nullish, escrito con doble signo de pregunta ??, te permite asignar un valor por defecto solamente cuando una variable es null o undefined. Y aquí viene lo interesante: no se activa con otros valores falsy como 0, '' o false, lo que lo diferencia del clásico ||.

Mira el ejemplo:

js const anotherNumber = 1; const validate = anotherNumber ?? 5;

console.log(validate); // 1

Como anotherNumber tiene el valor 1, el operador no entra a evaluar el valor por defecto y devuelve 1. Pero si esa variable llegara como null o undefined, el resultado cambiaría.

js const anotherNumber = null; const validate = anotherNumber ?? 5;

console.log(validate); // 5

Ahora la consola imprime 5 porque el operador detectó la ausencia de valor y aplicó el fallback.

¿Qué diferencia al operador ?? del operador ||? El operador || devuelve el valor por defecto con cualquier valor falsy (0, '', false, null, undefined). El operador ?? solo lo hace con null y undefined, respetando ceros y cadenas vacías como valores válidos.

¿Por qué nombrar bien las variables al practicar JavaScript?

Un detalle que vale la pena cuidar: en los ejemplos viste nombres como aBigNumber o anotherNumber, útiles para fines didácticos pero poco descriptivos en proyectos reales.

En el ecosistema del desarrollo de software se usa el inglés como estándar y se buscan nombres que describan la intención de la variable. Algunas buenas prácticas que puedes aplicar desde ya:

  • Usa nombres descriptivos del dominio del problema, no genéricos.
  • Evita repetir patrones como anotherFunction o aNumberString fuera de ejercicios.
  • Mantén consistencia en el idioma a lo largo del proyecto.
  • Refleja en el nombre qué representa el valor, no su tipo.

Estas características de ECMAScript 11 son piezas pequeñas pero potentes. ¿Ya identificaste un caso de tu código donde el operador nullish te ahorraría validaciones? Cuéntalo en los comentarios.