Explica este código JavaScript
Dificultad: Intermedio
const fn = (obj) => {
obj.nombre ??= "invitado";
obj.edad ??= 0;
obj.peso ??= 0;
return obj;
}
console.log(fn({edad:18}))
A. { edad:18, nombre:invitado, peso:0 }
B. { edad:18 }
C. SyntaxisError
D. Ninguna de las anteriores
Respuesta en el primer comentario.
Respuesta:
A. { edad:18, nombre:invitado, peso:0 }
Usamos el operador ??=
denominado nullish coalescing assignment verifica que el operando de la izquierda es undefined
o null
, si se cumple el caso, asigna el operando de la derecha a la declaración; caso contrario significa que la expresión tiene un valor diferente de undefined
o null
entonces se queda con dicho valor.
En el ejemplo, pasamos un objeto {edad:18}
a la función, entonces tanto nombre
como peso
tienen valores undefined
y se realiza la asignación.
Top comments (0)