Publicado el 3 de junio de 2024
Al evaluar la expresión +!![]
se obtiene 1
¿Por qué ocurre esto? Vamos a desglosar la expresión paso a paso para entender el proceso.
console.log(+!![]); // 1
Veamos el proceso paso a paso:
Paso 1
Empezamos con un array vacío []
.
En JavaScript, un array vacío es un objeto que es considerado “truthy” en contextos booleanos.
Paso 2
Luego el operador de negación lógica !
se aplica al array vacío []
.
En JavaScript, el operador de negación lógica !
convierte un valor “truthy” en false.
Entonces ![]
resulta en false
.
Paso 3
Aplicar el operador de negación lógica dos veces !![]
convierte el valor de nuevo a “truthy”.
Primero ![]
da false
, y luego !![]
da true
.
Paso 4
Finalmente, el operador +
se aplica a !![]
.
El operador +
convierte el valor booleano true
en el número 1
.
También puedes sumar
console.log(+!![] + 4); // 5