Überprüfen Sie, ob ein Wert in JavaScript NaN ist

Alex Dulcianu 12 Oktober 2023
  1. Verwenden Sie die eingebaute isNaN()-Funktion, um zu prüfen, ob ein Wert in JavaScript NaN ist
  2. Kombinieren Sie isNaN() mit parseFloat(), um mit leeren Strings umzugehen
  3. Überprüfen Sie, ob ein Wert NaN ist, indem Sie einen Vergleichsoperator in JavaScript verwenden
Überprüfen Sie, ob ein Wert in JavaScript NaN ist

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.

Verwandter Artikel - JavaScript Variable