| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Boolean | [Back] [Original] |
Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.
Diese Funktion ist gut etabliert und funktioniert auf vielen Gerten und in vielen Browserversionen. Sie ist seit Juli 2015 browserbergreifend verfgbar.
Boolean-Werte knnen einen von zwei Werten annehmen: true oder false, die den Wahrheitswert eines logischen Ausdrucks darstellen.
Boolean-Werte werden typischerweise von Relationalen Operatoren, Gleichheitsoperatoren und logischem NOT (!) erzeugt. Sie knnen auch durch Funktionen erzeugt werden, die Bedingungen darstellen, wie Array.isArray(). Beachten Sie, dass binre logische Operatoren wie && und || die Werte der Operanden zurckgeben, die mglicherweise keine boolean Werte sind.
Boolean-Werte werden typischerweise in Bedingungsprfungen verwendet, wie zum Beispiel die Bedingung fr if...else- und while-Anweisungen, den trinitischen Operator (? :), oder den prdikatsbezogenen Rckgabewert von Array.prototype.filter().
Es ist selten notwendig, etwas explizit in einen boolean Wert zu konvertieren, da JavaScript dies automatisch in boolean Kontexten tut. Sie knnen also jeden Wert verwenden, als wre er ein Boolean, basierend auf seiner Wahrhaftigkeit. Es wird empfohlen, if (condition) und if (!condition) anstelle von if (condition === true) oder if (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.
// Do this:
// This always returns a boolean value
const 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 false
const isObject = (obj) => obj && typeof obj === "object";
Um nicht-Boolean-Werte in Boolean umzuwandeln, verwenden Sie Boolean als Funktion oder den doppelten NOT Operator. Verwenden Sie nicht den Boolean()-Konstruktor mit new.
const good = Boolean(expression);
const good2 = !!expression;
const bad = new Boolean(expression); // don't use this!
Der Grund dafr ist, dass alle Objekte, einschlielich eines Boolean-Objekts, dessen wrapped Wert false ist, truthy sind und in Bedingungen zu true ausgewertet werden. (Siehe auch den Abschnitt Boolean-Koerzierung unten.)
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 true
const myString = new String("Hello"); // myString is a String object
const s = Boolean(myString); // s is true
Warnung:
Sie sollten selten den Boolean-Konstruktor verwenden.
Viele eingebaute Operationen, die Booleans erwarten, koerzieren ihre Argumente zuerst zu Booleans. Die Operation kann wie folgt zusammengefasst werden:
undefined wird zu false.null wird zu false.0, -0 und NaN werden zu false, andere Zahlen zu true.0n wird zu false, andere BigInts zu true."" wird zu false, andere Strings zu true.true.true.Hinweis:
Ein veraltetes Verhalten fhrt dazu, dass document.all false zurckgibt, 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 wie String-Koerzierung oder Zahlen-Koerzierung versucht die boolean Koerzierung nicht, Objekte in Primitive umzuwandeln, indem Benutzermethoden aufgerufen werden.
Mit anderen Worten, es gibt nur eine Handvoll Werte, die zu false koerziert werden diese werden falsy genannt. Alle anderen Werte werden truthy genannt. Die Wahrhaftigkeit eines Wertes ist wichtig, wenn er mit logischen Operatoren, in Bedingungen oder in jedem boolean Kontext verwendet wird.
Es gibt zwei Mglichkeiten, denselben Effekt in JavaScript zu erreichen.
!!x negiert x zweimal, was x unter Verwendung desselben Algorithmus wie oben in einen boolean umwandelt.Boolean() Funktion: Boolean(x) verwendet denselben Algorithmus wie oben, um x zu konvertieren.Beachten Sie, dass Wahrhaftigkeit nicht dasselbe ist wie lockere Gleichheit zu true oder false.
if ([]) {
console.log("[] is truthy");
}
if ([] == false) {
console.log("[] == false");
}
// [] is truthy
// [] == false
[] ist truthy, aber auch locker gleich false. Es ist truthy, weil alle Objekte truthy sind. Aber wenn man es mit false vergleicht, das ein Primitive ist, wird [] auch in ein Primitive umgewandelt, was "" ber Array.prototype.toString() ist. Beim Vergleichen von Strings und Booleans werden beide in Zahlen umgewandelt, und sie werden beide 0, sodass [] == false true ist. Im Allgemeinen unterscheiden sich Falsizitt und == false in den folgenden Fllen:
NaN, undefined und null sind falsy, aber nicht locker gleich false."0" (und andere String-Literale, die nicht "" sind, aber in 0 umgewandelt werden) sind truthy, aber locker gleich false.false sein.Truthy-Werte sind noch unwahrscheinlicher, locker gleich true zu sein. Alle Werte sind entweder truthy oder falsy, aber die meisten Werte sind weder locker gleich true noch false.
Boolean()Erstellt Boolean-Objekte. Beim Aufruf als Funktion gibt es primitive Werte des Typs Boolean zurck.
Diese Eigenschaften sind auf Boolean.prototype definiert und werden von allen Boolean-Instanzen geteilt.
Boolean.prototype.constructorDie Konstruktorfunktion, die das Instanzobjekt erstellt hat. Bei Boolean-Instanzen ist der Ausgangswert der Boolean-Konstruktor.
Boolean.prototype.toString()Gibt einen String von entweder true oder false zurck, abhngig vom Wert des Objekts. berschreibt die Object.prototype.toString()-Methode.
Boolean.prototype.valueOf()Gibt den primitiven Wert des Boolean-Objekts zurck. berschreibt die Object.prototype.valueOf()-Methode.
const bNoParam = Boolean();
const bZero = Boolean(0);
const bNull = Boolean(null);
const bEmptyString = Boolean("");
const bfalse = Boolean(false);
const btrue = Boolean(true);
const btrueString = Boolean("true");
const bfalseString = Boolean("false");
const bSuLin = Boolean("Su Lin");
const bArrayProto = Boolean([]);
const bObjProto = Boolean({});
| Spezifikation |
|---|
| ECMAScript 2027 LanguageSpecification # sec-boolean-objects |
BooleanObject/FunctionDer Bauplan fr ein besseres Internet.
Teile dieses Inhalts sind 19982026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfgbar unter einer Creative-Commons-Lizenz.
| Web Proxy Viewer | New URL | Original Page |