Convertir resultado booleano en número/entero
Tengo una variable que almacena false
or true
, pero necesito 0
or 1
en su lugar, respectivamente. ¿Cómo puedo hacer esto?
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.
Javascript tiene un operador ternario que puedes usar:
var i = result ? 1 : 0;
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.