Falsy

Diese Übersetzung ist in Arbeit.

Ein falsy-Wert ist ein Wert welcher zu false übersetzt, wenn er in einem booleschen Kontext ausgewertet wird.

JavaScript nutzt Type Conversion (Typ-Konvertierung) um für beliebige Werte eine boolesche Entsprechung zu erzwingen, wenn der Kontext es erfordert, beispielsweise bei Conditionals (Bedingungen) und Loops (Schleifen).

Es gibt 7 falsy-Werte in JavaScript.

Das heißt, wenn JavaScript einen Booleschen Wert erwartet und einen der folgenden erhält, es diesen als “falsy” auswerten wird.

false Das Schlüsselwort false
0 Die Zahl zero
0n BigInt, sofern es als Boolescher Wert genutzt wird, folgt den gleichen Regeln wie eine Number. 0n ist falsy.
"", '', ``

Dies ist ein leerer String (die Länge des Strings ist null). Strings in JavaScript können mit doppelten Anführungszeichen "", einfachen Anführungszeichen '', oder Template literals `` definiert werden.

null null - die Abwesenheit irgendeines Wertes
undefined undefined - der primitive Wert
NaN NaN - not a number (keine Zahl)

Beispiele

Beispiele von falsy-Werten in JavaScript (welche zu false übersetzen und somit folgende if-Konditionen nicht erfüllen):

if (false)
if (null)
if (undefined)
if (0)
if (0n)
if (NaN)
if ('')
if ("")
if (``)
if (document.all) [1]

Der logische AND Operator, &&

Falls das erste Objekt falsy ist, wird dieses zurückgegeben

let pet = false && "dog";

// ↪ false

document.all wurde in der Vergangenheit zur Browsererkennung verwendet und die HTML-Spezifikation definiert hier eine absichtliche Verletzung des ECMAScript-Standards, um eine Kompatibilität mit Legacy-Code zu gewährleisten (if (document.all) { // Internet Explorer code here } oder nutzen von document.all ohne vorher auf dessen Existenz zu prüfen: document.all.foo).

Manchmal begegnet man auch der Schreibweise falsey, obwohl im Englischen die Bildung von Adjektiven mit -y zu einem Wegfall des Buchstaben e am Ende des Wortes führt (z.B. noise => noisy, ice => icy, shine => shiny).

Mehr erfahren