Überprüfen Sie, ob ein Wert in JavaScript NaN ist
-
Verwenden Sie die eingebaute
isNaN()
-Funktion, um zu prüfen, ob ein Wert in JavaScriptNaN
ist -
Kombinieren Sie
isNaN()
mitparseFloat()
, um mit leeren Strings umzugehen -
Überprüfen Sie, ob ein Wert
NaN
ist, indem Sie einen Vergleichsoperator in JavaScript verwenden
NaN
-Werte in JavaScript können Neulinge in der Sprache verwirren, zumal sie oft mit undefined
- oder Null
-Werten verwechselt werden. NaN
ist ein Akronym für Not-a-Number
, was ihren Zweck ziemlich offensichtlich macht.
JavaScript kann es schwierig machen, zwischen verschiedenen undefinierten Werten zu unterscheiden. Boolesche Operationen haben auch ein paar Fallstricke, die Sie beachten müssen, wenn Sie mit NaN
-Werten arbeiten.
Es gibt Situationen, in denen man prüfen muss, ob ein bestimmter Wert vom Typ NaN
ist. Daher finden Sie hier einige Methoden, mit denen Sie überprüfen können, ob ein Wert NaN
ist.
Verwenden Sie die eingebaute isNaN()
-Funktion, um zu prüfen, ob ein Wert in JavaScript NaN
ist
Eine der nützlichsten Möglichkeiten, diese Überprüfung durchzuführen, ist die Verwendung der Standardbibliotheksmethode isNaN()
. Wenn der Wert, den Sie ihr geben, NaN
ist, dann ist die Rückgabe dieser Funktion true
. Hier ist ein Beispiel dafür, wie Sie dies in Ihrem Code verwenden können:
let myvar_1 = 'dog';
let myvar_2 = '2';
console.log(isNaN(myvar_1));
console.log(isNaN(myvar_2));
Ausgabe:
true
false
Kombinieren Sie isNaN()
mit parseFloat()
, um mit leeren Strings umzugehen
Wie oben erwähnt, gibt es einige Fallstricke, auf die Sie achten müssen. Einer davon sind leere Strings, die bei Verwendung der Funktion isNaN()
false
zurückgeben. Hier ist ein Beispiel:
let myvar_1 = '';
console.log(isNaN(myvar_1));
Ausgabe:
false
Natürlich ist das in diesem Fall wahrscheinlich nicht das gewünschte Ergebnis. Um diese Fälle richtig zu handhaben, können Sie die Methode parseFloat()
wie folgt in die Funktion isNaN()
einfügen:
let myvar_1 = '';
console.log(isNaN(parseFloat(myvar_1)));
Ausgabe:
true
Überprüfen Sie, ob ein Wert NaN
ist, indem Sie einen Vergleichsoperator in JavaScript verwenden
Die folgende Methode ist sogar noch schneller als die oben beschriebenen und erfordert auch weniger Code. Auf der anderen Seite ist es etwas verwirrender, ganz zu schweigen davon, dass es sich als schwierig erweisen kann, es richtig zu pflegen und zu dokumentieren.
Kurz gesagt, JavaScript-NaN
-Werte sind die einzigen, die nicht gleich sind. Aus diesem Grund kann Ihnen ein einfacher Vergleich leicht sagen, ob der Wert, der Sie interessiert, NaN
ist oder nicht. So funktioniert es:
let myvar_1 = NaN;
let myvar_2 = 'dog';
let myvar_3 = '2';
console.log(myvar_1 !== myvar_1);
console.log(myvar_2 !== myvar_2);
console.log(myvar_3 !== myvar_3);
Ausgabe:
true
false
false
Diese Methode funktioniert anders als die Funktion isNaN()
. Im vorherigen Beispiel werden Zeichenketten, die als Zahlen analysiert werden können, als Zahlen betrachtet. Wenn Sie den Vergleichsoperator verwenden, werden dieselben Zeichenketten nicht als Zahlen geparst. Dieses konkrete Beispiel gibt nur true
zurück, wenn der Wert eindeutig als NaN
definiert ist.
Beide Methoden haben ihre Vorzüge, aber Sie sollten wissen, dass sie unterschiedlich funktionieren, daher sollten wir vermeiden, sie in derselben Codebasis zu mischen.