JavaScript/Objekte/Number/isInteger
Die Methode isInteger() des Number-Objekts prüft, ob ein Wert von Typ 'number' ist und einen gültigen Integer-Wert, d.h. eine Zahl ohne Nachkommastellen, darstellt.
Syntax
Number.isInteger(wert);
wert
: Der zu prüfende Wert.
Rückgabewert
-
false
- wenn
typeof wert != 'number'
ist - wenn
wert
einen der numerischen Ausnahmewerte NaN, Infinity oder ‑Infinity enthält. - wenn
wert
eine Zahl mit Nachkommastellen ist. -
true
- für alle anderen number-Werte.
Für die Feststellung, ob der übergebene Wert Nachkommastellen hat, sagt die ECMAScript 2015-Spezifikation, dass Math.abs(wert)
mit Math.floor(Math.abs(wert))
zu vergleichen ist, d.h. der Wert wird zur 0 hin gerundet. Ergibt der Vergleich einen Unterschied, besitzt wert
Nachkommastellen. Weshalb die Spezifikation auf dem Vergleich der Beträge besteht, ist nicht ganz klar; die bekannten Polyfills für diese Methode vernachlässigen diesen Aspekt.
Polyfill
Die isInteger
-Methode des Number-Objekts wurde mit ECMAScript 2015 (ES6) eingeführt. Wenn Sie ältere Browser unterstützen möchten, können Sie einen Polyfill erzeugen:
if (!Number.isInteger) {
Number.isFinite = function(value) {
return typeof value === 'number' &&
isFinite(value) &&
value === Math.floor(value);
}
}