Falsy

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 8 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
-0 Die negative 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)

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).

Der logische AND Operator, &&

Falls das erste Objekt falsy ist, wird dieses zur├╝ckgegeben

let pet = false && "dog";

// Ôć¬ false

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).

Spezikationen

Mehr erfahren