Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

220
Views
Javascript: usando "!!" en contexto booleano

¿Hay alguna razón para usar !!someValue (que es equivalente a Boolean(someValue) ) en un contexto booleano ? En otras palabras, en situaciones como if (someValue) ... , ¿tiene sentido escribir if (!!someValue) ... ?

Me duele la vista y creo que es redundante, pero quiero verificar que no haya casos extremos que lo requieran, porque encontré una base de código donde esta parece ser la forma predeterminada de verificar la veracidad.

Aclaración: sí, en el caso general !!someValue convertirá someValue en un booleano; Me refiero a contextos en los que el tiempo de ejecución convertirá automáticamente someValue en true o false .

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Esa es una forma útil de convertir cualquier tipo de datos en booleanos; El sinónimo exacto sería:

 Boolean(someValue)

Algunos prefieren el 'doble golpe' por ser más preciso, mientras que otros prefieren la conversión clásica con Boolean(someValue) para una mejor legibilidad.

Entonces, volviendo a su pregunta, lo más probable es que sea redundante en las condiciones, pero puede ser útil cuando se necesita una conversión de cualquier tipo a booleano.

about 4 years ago · Juan Pablo Isaza Report

0

No puedo decir que sepa por qué alguien confiaría en verificar directamente los booleanos en lugar de en la veracidad, ¡pero hay al menos un escenario en el que la veracidad es diferente a la coerción con !! .

 console.log([] == false); // true console.log(!![] == false); // false if([]) { console.log(true); } // true if([] == false) { console.log(true); } // true if(!![] == false) { console.log(true); } else { console.log(false); } // false

about 4 years ago · Juan Pablo Isaza Report

0

Nunca necesita usar un doble golpe para convertir un valor booleano a booleano.

 boolean === !!boolean
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!