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;
javascript
boolean
toggle
Chris Dutrow
la source
la source
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:
C'est particulièrement bon si vous utilisez des noms booléens longs et descriptifs, par exemple:
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).
la source
bool ^= 1
bool === false
oubool === true
plus. Cela pourrait casser le code existant, alors soyez prudent.Un des cas.
la source
Voyons cela en action:
Quoi qu'il en soit , il n'y a pas de chemin plus court que ce que vous avez actuellement.
la source
si vous voulez que la valeur
tool
reste vraie si (un autre booléen) a la même valeurla source
Je cherchais une méthode de basculement qui fait de même, sauf pour une valeur initiale de
null
ouundefined
, où elle devrait devenirfalse
.C'est ici:
la source