JavaScript/Objekte/Number/NaN
Die Eigenschaft NaN ist ein vordefinierter Wert und bedeutet "not a number". Dieser Wert kann z. B. als Rückgabewert für ungültige Zahlen verwendet werden. Sie finden NaN
sowohl als globalen Wert wie auch als Eigenschaft des Number-Objekts.
NaN
hat die besondere Eigenschaft, dass es von jedem anderen Wert in JavaScript verschieden ist, sogar von sich selbst. Die arithmetischen Vergleichsoperatoren liefern deshalb grundsätzlich false
, wenn einer der Operanden NaN
ist. Die Ausnahme ist natürlich !=
, der immer true
liefert.
Das Beispiel definiert zwei Variablen Zahl_1
und Zahl_2
. Dabei wird Zahl_1
mit dem Wert 3a
vorbelegt, Zahl_2
mit dem Wert 3
. Anschließend wird für beide Variablen abgefragt, ob die Variable ungleich der Zahl 3
ist. Wenn ja, also wenn der Wert nicht 3
ist, wird der entsprechenden Variablen die Eigenschaft Number.NaN
(keine gültige Zahl) zugewiesen. Abschließend werden beide Variableninhalte ausgegeben. Zahl_1
hat nun den Wert NaN
, weil es ungleich 3
war und deshalb die Eigenschaft NaN
zugewiesen bekam. Zahl_2
dagegen speichert den Wert 3
, da es als gültige Zahl 3
anerkannt wurde – obwohl sie bei der Initialisierung die 3
als Zeichenkette zugewiesen bekam: hier greift die interne automatische Typumwandlung in JavaScript.
Number.NaN
können Sie nicht die Gültigkeit einer Zahl prüfen, sondern ihr nur die Eigenschaft keine gültige Zahl zuweisen. Die Gültigkeit einer Zahl können Sie mit der Methode isNaN()
prüfen.