Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. JavaScript-Referenz
  4. Eingebaute Standardobjekte
  5. Boolean

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

Boolean

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.

Boolean-Werte können einen von zwei Werten annehmen:true oderfalse, die den Wahrheitswert eines logischen Ausdrucks darstellen.

Beschreibung

Boolean-Werte werden typischerweise vonRelationalen Operatoren,Gleichheitsoperatoren undlogischem NOT (!) erzeugt. Sie können auch durch Funktionen erzeugt werden, die Bedingungen darstellen, wieArray.isArray(). Beachten Sie, dassbinäre logische Operatoren wie&& und|| die Werte der Operanden zurückgeben, die möglicherweise keine boolean Werte sind.

Boolean-Werte werden typischerweise in Bedingungsprüfungen verwendet, wie zum Beispiel die Bedingung fürif...else- undwhile-Anweisungen, dentrinitischen Operator (? :), oder den prädikatsbezogenen Rückgabewert vonArray.prototype.filter().

Es ist selten notwendig, etwas explizit in einen boolean Wert zu konvertieren, da JavaScript dies automatisch in boolean Kontexten tut. Sie können also jeden Wert verwenden, als wäre er ein Boolean, basierend auf seinerWahrhaftigkeit. Es wird empfohlen,if (condition) undif (!condition) anstelle vonif (condition === true) oderif (condition === false) in Ihrem eigenen Code zu verwenden, um diese Konvention zu nutzen. Dennoch kann es hilfreich sein, sicherzustellen, dass Werte, die Bedingungen darstellen, immer boolean sind, um die Absicht Ihres Codes zu verdeutlichen.

js
// Do this:// This always returns a boolean valueconst isObject = (obj) => !!obj && typeof obj === "object";// Or this:const isObject = (obj) => Boolean(obj) && typeof obj === "object";// Or this:const isObject = (obj) => obj !== null && typeof obj === "object";// Instead of this:// This may return falsy values that are not equal to falseconst isObject = (obj) => obj && typeof obj === "object";

Primitive Boolean-Werte und Boolean-Objekte

Um nicht-Boolean-Werte in Boolean umzuwandeln, verwenden SieBoolean als Funktion oder dendoppelten NOT Operator. Verwenden Sie nicht denBoolean()-Konstruktor mitnew.

js
const good = Boolean(expression);const good2 = !!expression;
js
const bad = new Boolean(expression); // don't use this!

Der Grund dafür ist, dassalle Objekte, einschließlich einesBoolean-Objekts, dessen wrapped Wertfalse ist,truthy sind und in Bedingungen zutrue ausgewertet werden. (Siehe auch den AbschnittBoolean-Koerzierung unten.)

js
if (new Boolean(true)) {  console.log("This log is printed.");}if (new Boolean(false)) {  console.log("This log is ALSO printed.");}const myFalse = new Boolean(false); // myFalse is a Boolean object (not the primitive value false)const g = Boolean(myFalse); // g is trueconst myString = new String("Hello"); // myString is a String objectconst s = Boolean(myString); // s is true

Warnung:Sie sollten selten denBoolean-Konstruktor verwenden.

Boolean-Koerzierung

Viele eingebaute Operationen, die Booleans erwarten, koerzieren ihre Argumente zuerst zu Booleans.Die Operation kann wie folgt zusammengefasst werden:

  • Booleans werden unverändert zurückgegeben.
  • undefined wird zufalse.
  • null wird zufalse.
  • 0,-0 undNaN werden zufalse, andere Zahlen zutrue.
  • 0n wird zufalse, andereBigInts zutrue.
  • Der leere String"" wird zufalse, andere Strings zutrue.
  • Symbole werden zutrue.
  • Alle Objekte werden zutrue.

Hinweis:Ein veraltetes Verhalten führt dazu, dassdocument.allfalse zurückgibt, wenn es als Boolean verwendet wird, obwohl es ein Objekt ist. Diese Eigenschaft ist veraltet und nicht standardisiert und sollte nicht verwendet werden.

Hinweis:Anders als bei anderen Typumwandlungen wieString-Koerzierung oderZahlen-Koerzierung versucht die boolean Koerzierung nicht,Objekte in Primitive umzuwandeln, indem Benutzermethoden aufgerufen werden.

Mit anderen Worten, es gibt nur eine Handvoll Werte, die zufalse koerziert werden — diese werdenfalsy genannt. Alle anderen Werte werdentruthy genannt. Die Wahrhaftigkeit eines Wertes ist wichtig, wenn er mit logischen Operatoren, in Bedingungen oder in jedem boolean Kontext verwendet wird.

Es gibt zwei Möglichkeiten, denselben Effekt in JavaScript zu erreichen.

  • Doppeltes NOT:!!x negiertx zweimal, wasx unter Verwendung desselben Algorithmus wie oben in einen boolean umwandelt.
  • DieBoolean() Funktion:Boolean(x) verwendet denselben Algorithmus wie oben, umx zu konvertieren.

Beachten Sie, dass Wahrhaftigkeit nicht dasselbe ist wielockere Gleichheit zutrue oderfalse.

js
if ([]) {  console.log("[] is truthy");}if ([] == false) {  console.log("[] == false");}// [] is truthy// [] == false

[] ist truthy, aber auch locker gleichfalse. Es ist truthy, weil alle Objekte truthy sind. Aber wenn man es mitfalse vergleicht, das ein Primitive ist, wird[] auch in ein Primitive umgewandelt, was"" überArray.prototype.toString() ist. Beim Vergleichen von Strings und Booleans werden beide inZahlen umgewandelt, und sie werden beide0, sodass[] == falsetrue ist. Im Allgemeinen unterscheiden sich Falsizität und== false in den folgenden Fällen:

  • NaN,undefined undnull sind falsy, aber nicht locker gleichfalse.
  • "0" (und andere String-Literale, die nicht"" sind, aberin 0 umgewandelt werden) sind truthy, aber locker gleichfalse.
  • Objekte sind immer truthy, aber ihre Primitivdarstellung kann locker gleichfalse sein.

Truthy-Werte sind noch unwahrscheinlicher, locker gleichtrue zu sein. Alle Werte sind entweder truthy oder falsy, aber die meisten Werte sind weder locker gleichtrue nochfalse.

Konstruktor

Boolean()

ErstelltBoolean-Objekte. Beim Aufruf als Funktion gibt es primitive Werte des Typs Boolean zurück.

Instanzeigenschaften

Diese Eigenschaften sind aufBoolean.prototype definiert und werden von allenBoolean-Instanzen geteilt.

Boolean.prototype.constructor

Die Konstruktorfunktion, die das Instanzobjekt erstellt hat. BeiBoolean-Instanzen ist der Ausgangswert derBoolean-Konstruktor.

Instanzmethoden

Boolean.prototype.toString()

Gibt einen String von entwedertrue oderfalse zurück, abhängig vom Wert des Objekts. Überschreibt dieObject.prototype.toString()-Methode.

Boolean.prototype.valueOf()

Gibt den primitiven Wert desBoolean-Objekts zurück. Überschreibt dieObject.prototype.valueOf()-Methode.

Beispiele

Erstellen von falschen Werten

js
const bNoParam = Boolean();const bZero = Boolean(0);const bNull = Boolean(null);const bEmptyString = Boolean("");const bfalse = Boolean(false);

Erstellen von wahren Werten

js
const btrue = Boolean(true);const btrueString = Boolean("true");const bfalseString = Boolean("false");const bSuLin = Boolean("Su Lin");const bArrayProto = Boolean([]);const bObjProto = Boolean({});

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-boolean-objects

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2026 Movatter.jp