Convertir resultado booleano en número/entero

Resuelto hd. asked hace 13 años • 22 respuestas

Tengo una variable que almacena falseor true, pero necesito 0or 1en su lugar, respectivamente. ¿Cómo puedo hacer esto?

hd. avatar Oct 19 '11 18:10 hd.
Aceptado

Utilice el operador unario+ , que convierte su operando en un número.

+ true; // 1
+ false; // 0

Tenga en cuenta, por supuesto, que aún debe desinfectar los datos en el lado del servidor, porque un usuario puede enviar cualquier dato a su servidor, sin importar lo que diga el código del lado del cliente.

lonesomeday avatar Oct 19 '2011 11:10 lonesomeday

Javascript tiene un operador ternario que puedes usar:

var i = result ? 1 : 0;
Andy Rose avatar Oct 19 '2011 11:10 Andy Rose

En mi humilde opinión, la mejor solución es:

fooBar | 0

Esto se usa en asm.js para forzar el tipo de número entero.

kralyk avatar Mar 07 '2014 01:03 kralyk