Explica este código JavaScript
const output = `${[] && 'Im'}possible!
You should${'' && `n't`} see a therapist after so much JavaScript lol`
- A:
possible! You should see a therapist after so much JavaScript lol - B:
Impossible! You should see a therapist after so much JavaScript lol - C:
possible! You shouldn't see a therapist after so much JavaScript lol - D:
Impossible! You shouldn't see a therapist after so much JavaScript lol
Respuesta en el primer comentario.
Top comments (1)
Respuesta:
B:
Impossible! You should see a therapist after so much JavaScript lolMuchas cosas que analizar en este ejemplo.
La sintaxis de backtick o de comillas simples invertidas (alt+96) sirven para evaluar expresiones dentro de cadenas de texto.
Primera expresión a evaluar:
En
${[] && 'Im'}tenemos el operador de corto circuito&&.Para usar los operadores de corto circuito debemos tener en cuanta los valores
truthyyfalsy.Si la primera parte de la expresión evalua como
truthyentonces ejecutamos la segunda parte de la expresión.Los valores
truthyson:true{}[]number(42,-56,1.5,-6.33)stringque no sea vacio ("0","Hola mundo","false")Date(new Date())Volviendo al ejemplo, un arreglo vacio
[]estruthyentonces se ejecuta la segunda parte de la expresion, osea, elstring'Im'.Segunda expresión a evaluar:
En
${ '' &&n't}nuevamente tenemos el operador de corto circuito&&, esta vez la primera parte de la expresión es un valorfalsy.Los valores
falsyson:false0""(cualquier cadena vacia)undefinednullNaNLa primera parte de la expresión es una cadena vacia que vendría a representar un valor
falsyy por ello la segunda parte de la expresiónn'tno se ejecuta.En conclusión, la respuesta es:
Impossible! You should see a therapist after so much JavaScript lol