Existe uma maneira realmente fácil de alternar um valor booleano em javascript ?
Até agora, o melhor que tenho além de escrever uma função personalizada é o ternário:
bool = bool ? false : true;
Existe uma maneira realmente fácil de alternar um valor booleano em javascript ?
Até agora, o melhor que tenho além de escrever uma função personalizada é o ternário:
bool = bool ? false : true;
Respostas:
bool = !bool;
Isso vale na maioria dos idiomas.
bool = !bool || true;
ter um padrão, suponho.
Se você não se importa que o booleano seja convertido em um número (que é 0 ou 1), você pode usar o Operador de atribuição Bitwise XOR . Igual a:
bool ^= true; //- toggle value.
Isso é especialmente bom se você usar nomes booleanos longos e descritivos, EG:
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)
Isso é mais fácil para mim do que repetir a variável em cada linha.
Este método funciona em todos os navegadores (principais) (e na maioria das linguagens de programação).
bool ^= 1
bool === false
ou bool === true
mais. Pode quebrar o código existente, portanto, tenha cuidado.
Vamos ver isso em ação:
var b = true;
console.log(b); // true
b = !b;
console.log(b); // false
b = !b;
console.log(b); // true
De qualquer forma, não existe uma maneira mais curta do que a que você possui atualmente.