¿Cómo alternar un booleano?
¿Existe una manera realmente sencilla de alternar un valor booleano en javascript ?
Hasta ahora, lo mejor que tengo además de escribir una función personalizada es el ternario:
bool = bool ? false : true;
Aceptado
bool = !bool;
Esto es válido en la mayoría de los idiomas.
Si no le importa que el valor booleano se convierta en un número (es decir, 0 o 1), puede utilizar el operador de asignación XOR bit a bit . Al igual que:
bool ^= true; //- toggle value.
Esto es especialmente bueno si utiliza nombres booleanos largos y descriptivos, por ejemplo:
let inDynamicEditMode = true; // Value is: true (boolean)
inDynamicEditMode ^= true; // Value is: 0 (number)
inDynamicEditMode ^= true; // Value is: 1 (number)
inDynamicEditMode ^= true; // Value is: 0 (number)
Para mí esto es más fácil de 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).
bool = bool != true;
Uno de los casos.
Estaba buscando un método de alternancia que haga lo mismo, pero que "alterna" un valor inicial de null
o undefined
a false
.
Aquí lo tienes:
booly = !(booly != false)