Índice
- Introducción
- Sintaxis
- Funcionamiento
- Equivalencia
- Ejemplos
- Soporte en Navagadores
- Conclusiones
- Referencias
1. Introducción
Logical Nullish Assignment o Asignación Lógica Nula en español (??=
) es un operador nuevo en JavaScript sencillo de comprender y con aplicaciones practicas en nuestro código.
2. Sintaxis
x ??= y
x ?? (x = y)
Ambas sintaxis son equivalentes, aunque la primera más usada.
3. Funcionamiento
Solo si el valor de x
es nullish el valor de y
se asignará a x
.
Entiendase por valor nullish solo 2 posibilidades: null
o undefined
. Cualquier otro valor no es considerado nullish.
4. Equivalencia
Esto:
let x = null;
x ??= 12;
Equivale a esto:
let x = null;
if (x === null || x === undefined) {
x = 12;
}
5. Ejemplos
Ejemplo #1
const x = 25;
let y;
const z = 30;
console.log(x ??= y); // 25
// x no es nullish, entonces se respeta su valor
console.log(y ??= z); // 30
// y es undefined, entonces adopta el valor de z
Ejemplo #2
const pokemon = {
id:1,
nombre: "Pikachu"
};
pokemon.nombre ??= "Charmander";
pokemon.peso ??= 10;
console.log(pokemon.nombre); // Pikachu
console.log(pokemon.peso); // 10
pokemon.nombre
imprime Pikachu
por que su valor no es nullish.
En cambio, pokemon.peso
es undefined
en el objeto pokemon
, entonces le asignamos el valor 10
.
Ejemplo #3
const config = (obj) => {
obj.duracion ??= 500;
obj.largo ??= 250;
return obj;
}
console.log(config({ duracion: 100 })); // {duracion: 100, largo: 250}
console.log(config({})); // {duracion: 500, largo: 250}
Ejemplo #4
const arreglo = [1, 2, undefined, "Hola mundo", null];
const res = arreglo.map((item, index, arr) => {
return arr[index] ??= "xxx"
})
console.log(res); // [1, 2, "xxx", "Hola mundo", "xxx"];
En este ejemplo recorremos el arreglo con map
y con Logical Nullish Assignment remplazamos los valores nullish del arreglo
con una cadena xxx
.
6. Soporte en Navagadores
- Chrome 85
- Edge 85
- Firefox 79
- Safari 14
- Opera 71
7. Conclusiones
Logical Nullish Assignment es un operador relativamente nuevo en javascript, pero esta bueno conocerlo y saber que existe.
Es sencillo de usar y comprender, tiene muchas aplicaciones interesantes.
8. Referencias
Posiblemente los siguientes artículos sean de tu interés:
Top comments (0)