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;

2voto

Teocci Punkte 5144

Dies ist eine alte Frage, aber ich denke, ein ES6-Update wäre gut.

Normalerweise wollen wir ein Toggle, das alles kann, ohne unseren Code zu zerstören.

Wir können einen Anfangswert für null o undefined Werte als false .

const boolToggler = b => !(b ?? false)

let foo
console.log('foo:', foo) // undefined

foo = boolToggler(foo)
console.log('foo:', foo) // true (assumes undefined as 'false')

foo = boolToggler(foo)
console.log('foo:', foo); // false

let fee = null
console.log('fee:', fee) // null

fee = boolToggler(fee)
console.log('fee:', fee) // true (assumes null as 'false')

let faa = true
console.log('faa:', faa) // true

faa = boolToggler(faa)
console.log('faa:', faa); // false

1voto

Ardhi Punkte 2529
bool === tool ? bool : tool

wenn Sie wollen, dass der Wert wahr bleibt, wenn tool (ein weiterer boolescher Wert) hat denselben Wert

1voto

Grant Punkte 4545

In Fällen, in denen Sie true/false als Strings speichern, wie z. B. in localStorage, wo das Protokoll 2009 auf die Speicherung mehrerer Objekte umgestellt wurde und 2011 wieder auf String zurückgesetzt wurde, können Sie JSON.parse verwenden, um die Interpretation in boolean vorzunehmen:

this.sidebar = !JSON.parse(this.sidebar);

0voto

Ich mochte schon immer boolesche Werte, aber heutzutage verwende ich aus Gründen der Bequemlichkeit und zur Fehlersuche binäre Werte. Sie können de consept verwenden !key : ++key: --key umzuschalten, und wenn Sie sich in einer asynchronen Funktion befinden oder ein Fehler oder False True auftritt, wird der Wert 0(Null)/1(Eins) auslaufen und Sie können später eine Warnung zur Fehlersuche auslösen.

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