Die globale NaN
Eigenschaft ist ein Wert, der Not-A-Number (keine Zahl) repräsentiert.
Property attributes of NaN |
|
---|---|
Writable | no |
Enumerable | no |
Configurable | no |
Syntax
NaN
Beschreibung
NaN
ist eine Eigenschaft des globalen Objektes.
Der initiale Wert von NaN
ist Not-A-Number — der gleiche Wert wie Number.NaN
. In modernen Browsern ist NaN
eine nicht konfigurierbare und nicht überschreibbare Eigenschaft. Immer wenn dieses nicht der Fall ist, vermeide das Überschreiben dieser Eigenschaft.
Der Einsatz von NaN
in Programmen ist selten. Es wird als Rückgabewert genutzt, wenn mathematische Funktionen fehlschlagen (Math.sqrt(-1)
) oder wenn der Versuch, eine Zeichenkette in eine Nummer zu konvertieren, fehlschlägt (parseInt("blabla")
).
Tests mit NaN
Gleichheitsoperatoren (==
und ===
) können nicht genutzt werden, um auf NaN
zu prüfen. Stattdessen können die Methoden Number.isNaN()
oder isNaN()
eingesetzt werden.
NaN === NaN; // false Number.NaN === NaN; // false isNaN(NaN); // true isNaN(Number.NaN); // true
Spezifikationen
Spezifikation | Status | Kommentar |
---|---|---|
ECMAScript 1st Edition (ECMA-262) | Standard | Initiale Definition. Implementiert in JavaScript 1.3 |
ECMAScript 5.1 (ECMA-262) Die Definition von 'NaN' in dieser Spezifikation. |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) Die Definition von 'NaN' in dieser Spezifikation. |
Standard | |
ECMAScript 2017 Draft (ECMA-262) Die Definition von 'NaN' in dieser Spezifikation. |
Entwurf |
Browserkompatibilität
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | (Ja) | (Ja) | (Ja) | (Ja) | (Ja) |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | (Ja) | (Ja) | (Ja) | (Ja) | (Ja) | (Ja) |