Gibt es eine wirklich einfache Möglichkeit, einen booleschen Wert in Javascript umzuschalten ?
Bisher ist das Beste, was ich außerhalb des Schreibens einer benutzerdefinierten Funktion habe, das Ternäre:
bool = bool ? false : true;
Gibt es eine wirklich einfache Möglichkeit, einen booleschen Wert in Javascript umzuschalten ?
Bisher ist das Beste, was ich außerhalb des Schreibens einer benutzerdefinierten Funktion habe, das Ternäre:
bool = bool ? false : true;
Antworten:
bool = !bool;
Dies gilt in den meisten Sprachen.
bool = !bool || true;
, um einen Standard zu haben, nehme ich an.
Wenn es Ihnen nichts ausmacht, dass der Boolesche Wert in eine Zahl konvertiert wird (entweder 0 oder 1), können Sie den Bitwise XOR Assignment Operator verwenden . Wie so:
bool ^= true; //- toggle value.
Dies ist besonders gut, wenn Sie lange, beschreibende boolesche Namen verwenden, z.
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)
Dies ist für mich einfacher zu scannen als die Variable in jeder Zeile zu wiederholen.
Diese Methode funktioniert in allen (Haupt-) Browsern (und den meisten Programmiersprachen).
bool ^= 1
bool === false
oder bool === true
mehr. Möglicherweise wird vorhandener Code beschädigt. Seien Sie also vorsichtig.
Lassen Sie uns dies in Aktion sehen:
var b = true;
console.log(b); // true
b = !b;
console.log(b); // false
b = !b;
console.log(b); // true
Wie auch immer, es gibt keinen kürzeren Weg als den, den Sie derzeit haben.