Explica este código JavaScript
console.log(undefined || "0" || null || (undefined ?? 0))
A. 0
B. "0"
C. undefined
D. null
Respuesta en el primer comentario.
For further actions, you may consider blocking this person and/or reporting abuse
Joaquín Gutiérrez -
Maulik Paghdal -
Andrew Mclean -
Anil -
Top comments (1)
Respuesta:
B.
"0"
El operador de corto circuito OR (
||
) solo se ejecuta si el primer operando es falsy.El nullish coalescing operator (
??
) solo se ejecuta si el primer operando es nullish (null
oundefined
).Vamos paso por paso:
undefined || "0"
:undefined
evalua como falsy entonces tendriamos"0"
.Nos quedaria el siguiente código:
"0" || null
:"0"
no evalua como falsy entonces no se ejecuta el operador de corto circuito.Nos quedaria el siguiente código:
undefined ?? 0
: Operando tenemos como resultado0
por queundefined
es un valor nullish.Nos quedaria el siguiente código:
Finalmente
"0"
como cadena no es un valor falsy entonces no podemos ejecutar el operador de corto circuito dando como resultado final"0"
.