Sie sind hier 291
Typen, Gleichheit, Umwandlung und der ganze Rest
var testThis;
if (testThis) {
// irgendwas tun
}
var element = document.getElementById("nichtExistierendesElement");
if (element) {
// irgendwas tun
}
if (0) {
// etwas anderes tun
}
if ("") {
// Wird dieser Code jemals ausgewertet? Was meinen Sie?
}
if (NaN) {
// Hmm, was macht NaN in einem Booleschen Test?
}
Die truthy ist irgendwo da draußen
Also, das ist seltsam. Wir wissen, dass die Variable in
der Bedingung noch nicht definiert (undefined) ist.
Funktioniert das? Ist das richtiger JavaScript-Code?
(Antwort: Ja.)
Hier ist der Wert des Elements null.
Was passiert hier wohl?
Wir testen 0?
Hier testen wir auf einen leeren String.
Wollen wir wetten, was passiert?
Moment, jetzt benutzen wir NaN in einem
Booleschen Test. Zu was wird das wohl evaluiert?
Richtig gelesen. Wir haben nicht truth (Wahrheit), sondern truthy
geschrieben. Und wir sagen auch falsey. Wovon, um alles in der Welt,
reden wir da? Tja, einige Sprachen haben sehr klare Vorstellungen von
wahr (true) und falsch (false). JavaScript sieht das eher etwas lockerer.
Es gibt in JavaScript tatsächlich Werte, die weder wahr noch falsch sind.
Trotzdem werden sie in einem Bedingungstest als wahr oder falsch
ausgewertet. Die Werte werden als truthy (»irgendwie wahr«) oder falsey
(»irgendwie falsch«) bezeichnet, weil sie technisch gesehen weder wirklich
wahr noch wirklich falsch sind, sich aber so verhalten (in einer Bedingung).
Und hier ist der Schlüssel zum Verständnis: Konzentrieren Sie sich darauf, was
falsey ist, und sehen Sie alles andere als truthy an. Hier ein paar Beispiele für die
Benutzung von truthy und falsey in einer Bedingung:
Manche Leute
sagen auch
»falsy«.

Get JavaScript-Programmierung von Kopf bis Fuß now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.