A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Boolean below:

Boolean - JavaScript | MDN

Boolean

Baseline Widely available

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

Beschreibung

Boolean-Werte werden typischerweise von Relationalen Operatoren, Gleichheitsoperatoren und logischem NOT (!) erzeugt. Sie können auch durch Funktionen erzeugt werden, die Bedingungen darstellen, wie Array.isArray(). Beachten Sie, dass binä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ür if...else- und while-Anweisungen, den trinitischen Operator (? :), oder den prädikatsbezogenen Rückgabewert 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 können also jeden Wert verwenden, als wäre 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";
Primitive Boolean-Werte und Boolean-Objekte

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 dafür ist, dass alle Objekte, einschließlich 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.

Boolean-Koerzierung

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

Hinweis: Ein veraltetes Verhalten führt dazu, dass document.all false 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 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 Möglichkeiten, denselben Effekt in JavaScript zu erreichen.

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 Falsizität und == false in den folgenden Fällen:

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.

Konstruktor
Boolean()

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

Instanzeigenschaften

Diese Eigenschaften sind auf Boolean.prototype definiert und werden von allen Boolean-Instanzen geteilt.

Boolean.prototype.constructor

Die Konstruktorfunktion, die das Instanzobjekt erstellt hat. Bei Boolean-Instanzen ist der Ausgangswert der Boolean-Konstruktor.

Instanzmethoden
Boolean.prototype.toString()

Gibt einen String von entweder true oder false zurück, abhängig vom Wert des Objekts. Überschreibt die Object.prototype.toString()-Methode.

Boolean.prototype.valueOf()

Gibt den primitiven Wert des Boolean-Objekts zurück. Überschreibt die Object.prototype.valueOf()-Methode.

Beispiele Erstellen von falschen Werten
const bNoParam = Boolean();
const bZero = Boolean(0);
const bNull = Boolean(null);
const bEmptyString = Boolean("");
const bfalse = Boolean(false);
Erstellen von wahren Werten
const btrue = Boolean(true);
const btrueString = Boolean("true");
const bfalseString = Boolean("false");
const bSuLin = Boolean("Su Lin");
const bArrayProto = Boolean([]);
const bObjProto = Boolean({});
Spezifikationen Browser-Kompatibilität Siehe auch

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4