Explica este código JavaScript
const getName = (obj) => {
obj.name ??= "Sin Nombre";
return obj;
}
console.log(getName({}))
- A.
undefined
- B.
{}
- C.
{ name:"Sin Nombre" }
- D. Ninguno de los anteriores
Respuesta en el primer comentario.
For further actions, you may consider blocking this person and/or reporting abuse
Abhinav -
arjun -
Gabor Szabo -
Hamza Khan -
Top comments (1)
Respuesta:
C.
{ name:"Sin Nombre" }
El operador
??=
se llama Logical Nullish Assignment es un operador de corto circuito moderno que consiste en ejecutar porciones de código si evaluamos una condición como nullish, osea, como valornull
oundefined
.Entonces, en el ejemplo, si
obj.name
evalua como nullish, ejecutamos"Sin Nombre"
.Llamamos a la función
getName
pasandole un objeto vacío, entonces todas sus propiedades sonundefined
y por consecuencianullish
, por ello aobj.name
se el asigna el valor"Sin Nombre"
y retornamos ese objeto.