--- title: Falsy slug: Glossary/Falsy tags: - CodingScripting - Glossary - JavaScript translation_of: Glossary/Falsy ---
Ein falsy-Wert ist ein Wert welcher zu false
übersetzt, wenn er in einem {{Glossary("Boolean", "booleschen")}} Kontext ausgewertet wird.
{{Glossary("JavaScript")}} nutzt {{Glossary("Type_Conversion", "Type Conversion")}} (Typ-Konvertierung) um für beliebige Werte eine boolesche Entsprechung zu erzwingen, wenn der Kontext es erfordert, beispielsweise bei {{Glossary("Conditional", "Conditionals")}} (Bedingungen) und {{Glossary("Loop", "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 |
{{Glossary("null")}} | null - die Abwesenheit irgendeines Wertes |
{{Glossary("undefined")}} | undefined - der primitive Wert |
{{Glossary("NaN")}} | NaN - not a number (keine Zahl) |
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
).
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).
Spezifikation |
---|
{{SpecName("ESDraft", "#sec-toboolean", "ToBoolean abstract operation")}} |
{{QuickLinksWithSubpages("/de/docs/Glossar")}}