javascript - ejemplo - La forma más limpia de convertir a booleano
string to boolean javascript (1)
Esta pregunta ya tiene una respuesta aquí:
Tengo una variable
Llamémoslo
toto
.
Este
toto
se puede establecer en
undefined
,
null
, una cadena o un objeto.
Me gustaría la forma más limpia de verificar si
toto
se establece en datos, lo que significa establecer en una cadena o un objeto, y no
undefined
ni
null
, y establecer el valor booleano correspondiente en otra variable.
¡Pensé en la sintaxis
!!
, se vería así:
var tata = !!toto; // tata would be set to true or false, whatever toto is.
El primero
!
se establecería en
false
si toto es
undefined
o
null
y
true
, y el segundo lo invertiría.
Pero se ve un poco espeluznante ... Entonces, ¿hay una manera mejor / más limpia de hacerlo?
Ya miré
esta pregunta
, pero quiero establecer un valor en una variable, no solo verificarlo en una declaración
if
.
Sí, siempre puedes usar esto:
var tata = Boolean(toto);
Y aquí hay algunas pruebas:
for (var value of [0, 1, -1, "0", "1", "cat", true, false, undefined, null]) {
console.log(`Boolean(${typeof value} ${value}) is ${Boolean(value)}`);
}
Resultados:
Boolean(number 0) is false
Boolean(number 1) is true
Boolean(number -1) is true
Boolean(string 0) is true
Boolean(string 1) is true
Boolean(string cat) is true
Boolean(boolean true) is true
Boolean(boolean false) is false
Boolean(undefined undefined) is false
Boolean(object null) is false