Existe-t-il un moyen très simple de basculer une valeur booléenne en javascript ?
Jusqu'à présent, le meilleur que j'ai obtenu en dehors de l'écriture d'une fonction personnalisée est le ternaire:
bool = bool ? false : true;
Existe-t-il un moyen très simple de basculer une valeur booléenne en javascript ?
Jusqu'à présent, le meilleur que j'ai obtenu en dehors de l'écriture d'une fonction personnalisée est le ternaire:
bool = bool ? false : true;
Réponses:
bool = !bool;
Cela est vrai dans la plupart des langues.
bool = !bool || true;
pour avoir une valeur par défaut, je suppose.
Si cela ne vous dérange pas que le booléen soit converti en nombre (c'est-à-dire 0 ou 1), vous pouvez utiliser l'opérateur d'assignation XOR au niveau du bit . Ainsi:
bool ^= true; //- toggle value.
C'est particulièrement bon si vous utilisez des noms booléens longs et descriptifs, par exemple:
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)
C'est plus facile pour moi de scanner que de répéter la variable dans chaque ligne.
Cette méthode fonctionne dans tous les navigateurs (principaux) (et la plupart des langages de programmation).
bool ^= 1
bool === false
ou bool === true
plus. Cela pourrait casser le code existant, alors soyez prudent.
Voyons cela en action:
var b = true;
console.log(b); // true
b = !b;
console.log(b); // false
b = !b;
console.log(b); // true
Quoi qu'il en soit , il n'y a pas de chemin plus court que ce que vous avez actuellement.