Ich habe einen Codeabschnitt, der die Existenz einer Variablen testet, indem ich eine if-Anweisung wie im folgenden Beispiel verwende. Ich muss eine Sache machen, wenn die Var gesetzt ist, eine andere Sache, wenn es nicht ist. In einem bestimmten Testfall musste die Variable auf 0 gesetzt werden, aber das ist dasselbe mit einer ungesetzten Variablen in JS, anscheinend:
%Vor%Also mein Problem ist, wie ich für eine Var testen, wenn ihr Wert berechtigt ist, Null. Ich sollte darauf hinweisen, dass in meiner Funktion mögliche Werte zwischen 0 und 40 + liegen.
In der Vergangenheit habe ich eine Arbeit verwendet, wie den Anfangswert auf eine Zahl zu setzen, die hoch genug ist, dass sie wahrscheinlich nicht an die Funktion übergeben wird, aber das scheint Hackey für mich zu sein. Gibt es einen besseren Weg, es zu tun?
toMatch === 0
prüft auf Null.
toMatch === undefined
sucht nach undefined
Die Triple-Equals sind strenge Vergleichsoperatoren für diese Art von Szenario. Sehen Sie diese gesegnete Frage: Unterschied zwischen == und === in JavaScript
Javascript ist ein bisschen lustig, wenn es um Werte und boolesche Überprüfungen geht. Ich empfehle, über Truthy und Falsey in Javascript zu lesen.
Sie sollten den Identitätsungleichheitsoperator !==
:
Es lohnt sich auch zu verstehen die Unterschiede zwischen ==
und ===
.
Tags und Links javascript