Die Number.isNaN() Methode stellt fest, ob der Übergabewert NaN ist und der Typ des Parameters  Number ist . Dieses ist eine robustere Version der globalen Methode isNaN()

Syntax

Number.isNaN(testWert)

Parameter

testWert
Der Wert, der auf NaN getestet werden soll.

Rückgabewert

true wenn der Wert NaN und der Typ Number ist. Anderfalls false.

Beschreibung

Weil beide Gleichheitsoperatoren, == und ===, den Vergleich, ob NaN gleich NaN ist, zu false auswerten, hat die Methode Number.isNaN() an Bedeutung gewonnen. Diese Situation ist anders als bei allen anderen Vergleichen von Werten in JavaScript.

Im Vergleich zu der globalen Methode isNaN() hat die Methode Number.isNaN() nicht das Problem, dass Werte zu einer Nummer konvertiert werden. Das bedeutet, das Werte, die normalerweise zu NaN konvertiert würden, aber momentan nicht dem Wert NaN entsprechen, ohne Probleme der Methode übergeben werden können. Das wiederum bedeutet, dass nur Werte vom Typ Number, die zudem NaN entsprechen true als Resultat haben.

Beispiele

Number.isNaN(NaN);        // true
Number.isNaN(Number.NaN); // true
Number.isNaN(0 / 0)       // true

// Beispiele, bei denen isNaN() true zurück gibt
Number.isNaN('NaN');      // false
Number.isNaN(undefined);  // false
Number.isNaN({});         // false
Number.isNaN('blabla');   // false

// Diese alle geben false zurück
Number.isNaN(true);
Number.isNaN(null);
Number.isNaN(37);
Number.isNaN('37');
Number.isNaN('37.37');
Number.isNaN('');
Number.isNaN(' ');

Polyfill

Das Folgende funktioniert, weil NaN der einzige Wert ist, welcher nicht gleich mit sich selbst ist.

Number.isNaN = Number.isNaN || function(value) {     
    return value !== value;
}

Spezifikationen

Spezifikation Status Kommentar
ECMAScript 2015 (6th Edition, ECMA-262)
Die Definition von 'Number.isnan' in dieser Spezifikation.
Standard Initiale Definition.
ECMAScript Latest Draft (ECMA-262)
Die Definition von 'Number.isnan' in dieser Spezifikation.
Lebender Standard  

Browserkompatibilität

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Grundlegende Unterstützung25(Ja)15Nein(Ja)9
FeatureAndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Grundlegende Unterstützung(Ja)(Ja)(Ja)15Nein(Ja)9

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

 Mitwirkende an dieser Seite: schlagi123, mazilema, renemaas
 Zuletzt aktualisiert von: schlagi123,