
Andrés Muñoz
PreguntaPor qué usas !!loading, con doble signo de exclamación para validar? ¿Cuál es la ventaja?
- El número es falsy, por lo que es equivalente a
0
; mientras que cualquier número mayor afalse
es truthy.0
- Un array vacío es falsy, y un array con al menos un valor dentro es truthy.
[]

Nicolás Sañudo
Existen valores truthy y falsy, que vendrian a ser valores de otros tipos de datos que son equivalentes a los valores booleanos: Por ejemplo:
Por lo que evaluar algo como:
let numero; if ( numero ) { // Código }
..es evaluar si
numero
El uso del signo
!
let numero = 20; /* numero es truthy por ser un numero mayor a 0 (cero) !numero sería su opuesto: falsy */ if ( !numero ) { // // Código }
Y el opuesto de
!numero
!!numero
let numero = 20; /* si !numero es falsy !!numero es truthy de nuevo */ if ( !!numero ) { // // Código }