Respuesta:
B: Impossible! You should see a therapist after so much JavaScript lol
Muchas 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 truthy y falsy.
Si la primera parte de la expresión evalua como truthy entonces ejecutamos la segunda parte de la expresión.
Los valores truthy son:
true
{}
[]
Cualquier valor de tipo number (42, -56, 1.5, -6.33)
Cualquier string que no sea vacio ("0", "Hola mundo", "false")
El objeto Date (new Date())
Volviendo al ejemplo, un arreglo vacio [] es truthy entonces se ejecuta la segunda parte de la expresion, osea, el string'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 valor falsy.
Los valores falsy son:
false
0
"" (cualquier cadena vacia)
undefined
null
NaN
La primera parte de la expresión es una cadena vacia que vendría a representar un valor falsy y por ello la segunda parte de la expresión n't no se ejecuta.
En conclusión, la respuesta es: Impossible! You should see a therapist after so much JavaScript lol
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Respuesta:
B:
Impossible! You should see a therapist after so much JavaScript lol
Muchas 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
truthy
yfalsy
.Si la primera parte de la expresión evalua como
truthy
entonces ejecutamos la segunda parte de la expresión.Los valores
truthy
son:true
{}
[]
number
(42
,-56
,1.5
,-6.33
)string
que no sea vacio ("0"
,"Hola mundo"
,"false"
)Date
(new Date()
)Volviendo al ejemplo, un arreglo vacio
[]
estruthy
entonces 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
falsy
son:false
0
""
(cualquier cadena vacia)undefined
null
NaN
La primera parte de la expresión es una cadena vacia que vendría a representar un valor
falsy
y por ello la segunda parte de la expresiónn't
no se ejecuta.En conclusión, la respuesta es:
Impossible! You should see a therapist after so much JavaScript lol