javascript-operador-coalescencia-nula

Operador de coalescencia nula en JavaScript

  • 2 min

El operador de coalescencia nula (??) es un operador lógico que permite proporcionar un valor por defecto cuando una expresión es null o undefined.

Este operador, introducido en ECMAScript 2020 (ES11), proporciona una forma más precisa y clara de tratar valores nulos y no definidos (en comparación con otros enfoques tradicionales como usar ||).

El operador coalescencia nula es muy útil para simplificar y mejorar la legibilidad del código cuando trabajamos con valores que contienen null o undefined.

Coalescencia es un término que se refiere al proceso de unión o fusión de dos o más elementos en uno solo

Sintaxis del operador coalescencia nula

La sintaxis del operador de coalescencia nula es simple:

let resultado = valor1 ?? valor2;

En este caso,

  • Si valor1 no es null o undefined, resultado tomará el valor de valor1.
  • Si valor1 es null o undefined, resultado tomará el valor de valor2.

Por ejemplo, en este caso

let nombreUsuario = usuario.nombre ?? 'Ni idea, oiga';

console.log(nombreUsuario); // 'Ni idea, oiga'

Aquí,

  • Si nombre de usuario fuera Pedro, nombreUsuario sería `Pedro.
  • Por lo que nombreUsuario toma el valor ‘Ni idea, oiga’.

Combinación con otros operadores

El operador ?? encaja maravillosamente bien (❤️) con otros operadores como el operador de encadenamiento opcional ?..

let nombreUsuario = usuario?.nombre ?? 'Desconocido';
console.log(nombreUsuario); // 'Desconocido'

En este caso se nombreUsuario será ‘Ni idea, oiga’ tanto si,

  • usuario es null
  • usuario no es null, pero si es null su propiedad nombre

En el ejemplo anterior, sin ?., si usuario hubiera sido null os habría tirado una excepcion

Comparativa con otros métodos