Por qué usas !!loading, con doble signo de exclamación para validar? ¿Cuál es la ventaja?

Andrés Muñoz

Andrés Muñoz

Pregunta
studenthace 3 años

Por qué usas !!loading, con doble signo de exclamación para validar? ¿Cuál es la ventaja?

1 respuestas
para escribir tu comentario
    Nicolás Sañudo

    Nicolás Sañudo

    studenthace 3 años

    Existen valores truthy y falsy, que vendrian a ser valores de otros tipos de datos que son equivalentes a los valores booleanos: Por ejemplo:

    • El número
      0
      es falsy, por lo que es equivalente a
      false
      ; mientras que cualquier número mayor a
      0
      es truthy.
    • Un array vacío
      []
      es falsy, y un array con al menos un valor dentro es truthy.

    Por lo que evaluar algo como:

    let numero; if ( numero ) { // Código }

    ..es evaluar si

    numero
    es truthy o falsy. El mismo caso aplica a un array o a cualquier dato que utilices.


    El uso del signo

    !
    antes de una variable, cambia su estado de truthy/falsy por el opuesto:

    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
    es
    !!numero
    , por lo que:

    let numero = 20; /* si !numero es falsy !!numero es truthy de nuevo */ if ( !!numero ) { // // Código }
Curso de React.js: Manejo Profesional del Estado

Curso de React.js: Manejo Profesional del Estado

Aprende a manejar el estado en React.js de manera profesional. Explora el uso de React.useReducer para estructurar aplicaciones más legibles y eficientes. Deriva estados, gestiona actualizaciones en bloque y evita errores ortográficos en tu código.

Curso de React.js: Manejo Profesional del Estado
Curso de React.js: Manejo Profesional del Estado

Curso de React.js: Manejo Profesional del Estado

Aprende a manejar el estado en React.js de manera profesional. Explora el uso de React.useReducer para estructurar aplicaciones más legibles y eficientes. Deriva estados, gestiona actualizaciones en bloque y evita errores ortográficos en tu código.