551 Stimmen

Wie schaltet man einen Booleschen Wert um?

Gibt es eine wirklich einfache Möglichkeit, einen booleschen Wert in javascript ?

Bis jetzt ist das Beste, was ich außerhalb des Schreibens einer benutzerdefinierten Funktion habe, die Ternärfunktion:

bool = bool ? false : true;

1220voto

Jordan Punkte 30757
bool = !bool;

Dies trifft auf die meisten Sprachen zu.

123voto

Brock Adams Punkte 86168

Wenn es Ihnen nichts ausmacht, dass der boolesche Wert in eine Zahl umgewandelt wird (entweder 0 oder 1), können Sie der bitweise XOR-Zuweisungsoperator . Etwa so:

bool ^= true;   //- toggle value.

Dies ist besonders gut, wenn Sie lange, beschreibende boolesche Namen verwenden, EG:

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)

Dies ist für mich einfacher zu scannen als die Wiederholung der Variablen in jeder Zeile.

Diese Methode funktioniert in allen (gängigen) Browsern (und den meisten Programmiersprachen).

16voto

xameeramir Punkte 25274

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 gehen.

13voto

Feeco Punkte 4854
bool = bool != true;

Einer der Fälle.

5voto

OfirD Punkte 6689

Ich habe nach einer Umschaltmethode gesucht, die dasselbe tut, aber einen Anfangswert von null o undefined à false .

Hier ist sie:

booly = !(booly != false)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X