que - Alternar un booleano en javascript
parse boolean string javascript (6)
Estaba buscando un método de alternancia que haga lo mismo, excepto por un valor inicial de null
o undefined
, donde debería hacerse false
.
Aquí está:
booly = !(booly != false)
¿Hay una manera realmente fácil de cambiar un valor booleano en javascript ?
Hasta ahora, lo mejor que tengo fuera de escribir una función personalizada es el ternario:
bool = bool ? false : true;
Si no le importa que el booleano se convierta en un número (es decir, 0 o 1), puede usar el Operador de Asignación XOR de Bitwise . Al igual que:
bool ^= true; //- toggle value.
Esto es especialmente bueno si usa nombres booleanos largos y descriptivos, por ejemplo:
var inDynamicEditMode = true; // Value is: true (boolean)
inDynamicEditMode ^= true; // Value is: 0 (number)
inDynamicEditMode ^= true; // Value is: 1 (number)
inDynamicEditMode ^= true; // Value is: 0 (number)
Esto es más fácil para mí escanear que repetir la variable en cada línea.
Este método funciona en todos los navegadores (principales) (y en la mayoría de los lenguajes de programación).
Veamos esto en acción:
var b = true;
console.log(b); // true
b = !b;
console.log(b); // false
b = !b;
console.log(b); // true
De todos modos, no hay un camino más corto que el que tiene actualmente.
bool = !bool;
Esto es cierto en la mayoría de los idiomas.
bool = bool != true;
Uno de los casos.
bool === tool ? bool : tool
si desea que el valor sea verdadero si la tool
(otro booleano) tiene el mismo valor