Valors truthy i falsy en JavaScript

En els contextos en què un valor booleà és que s’esperava, i s’utilitza en el seu lloc un valor que diferent tipus, JavaScript ho força de manera implícita a comportar-se com booleà .

els valors convertibles a false es coneixen com falsy o falsey, i són aquells que quan es troben en un context de booleà, JavaScript els converteix a false:

  • 0 (zero)
  • -0 (zero negatiu)
  • 0n (zero de tipus BIGINT)
  • "" (cometes dobles buides)
  • '' (cometes simples buides)
  • `` (accents invertides buides)
  • null
  • undefined
  • NaN

Llavors, si utilitzéssim qualsevol d’aquests valors en un context de condicional, la condició resultés falsa.

var resultado = Math.round("cero");// → NaN// por lo tanto resultado es falsyif (resultado) { console.log("Esto nunca se mostrará");}

Per tant, la resta dels valors en JavaScript són convertibles a true, i es consideren truthy.

Això és possible gràcies a l’mecanisme de coerció. Bàsicament, quan el que s’espera és un booleà, JavaScript força el valor a el tipus boolean, en una operació equivalent a cridar la funció global Boolean sobre ell.

// todos los siguientes retornan `false`Boolean(false)Boolean(0)Boolean(-0)Boolean(0n)Boolean("")Boolean('')Boolean(``)Boolean(null)Boolean(undefined)Boolean(NaN)// cualquier otro valor retorna `true`Boolean(true)Boolean()Boolean({})Boolean('Hola mundo')Boolean(new Date())

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *