DEV Community

Cristian Fernando
Cristian Fernando

Posted on • Updated on

Paracetamol.js💊| #73: Explica este código JavaScript

Explica este código JavaScript

console.log(undefined || "0" || null || (undefined ?? 0))
Enter fullscreen mode Exit fullscreen mode

A. 0
B. "0"
C. undefined
D. null

Respuesta en el primer comentario.


Oldest comments (1)

Collapse
 
duxtech profile image
Cristian Fernando • Edited

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 o undefined).

Vamos paso por paso:

  • undefined || "0": undefined evalua como falsy entonces tendriamos "0".

Nos quedaria el siguiente código:

console.log("0" || null || (undefined ?? 0))
Enter fullscreen mode Exit fullscreen mode
  • "0" || null: "0" no evalua como falsy entonces no se ejecuta el operador de corto circuito.

Nos quedaria el siguiente código:

console.log("0" || (undefined ?? 0))
Enter fullscreen mode Exit fullscreen mode
  • undefined ?? 0: Operando tenemos como resultado 0 por que undefined es un valor nullish.

Nos quedaria el siguiente código:

console.log("0" || 0)
Enter fullscreen mode Exit fullscreen mode

Finalmente "0" como cadena no es un valor falsy entonces no podemos ejecutar el operador de corto circuito dando como resultado final "0".