isFinite()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Die isFinite()
Funktion bestimmt, ob ein Wert endlich ist, indem er, falls nötig, zuerst in eine Zahl umgewandelt wird. Eine endliche Zahl ist eine, die weder NaN
noch ±Infinity
ist. Da die Zwangsumwandlung in der isFinite()
Funktion überraschend sein kann, ziehen Sie möglicherweise Number.isFinite()
vor.
Probieren Sie es aus
function div(x) {
if (isFinite(1000 / x)) {
return "Number is NOT Infinity.";
}
return "Number is Infinity!";
}
console.log(div(0));
// Expected output: "Number is Infinity!""
console.log(div(1));
// Expected output: "Number is NOT Infinity."
Syntax
isFinite(value)
Parameter
value
-
Der Wert, der getestet werden soll.
Rückgabewert
false
, wenn der gegebene Wert, nach Umwandlung in eine Zahl, NaN
, Infinity
oder -Infinity
ist; andernfalls true
.
Beschreibung
isFinite()
ist eine Funktions-Eigenschaft des globalen Objekts.
Wenn das Argument der isFinite()
Funktion nicht vom Typ Number ist, wird der Wert zuerst in eine Zahl umgewandelt und der resultierende Wert dann mit NaN
und ±Infinity verglichen. Dies ist genauso verwirrend wie das Verhalten von isNaN
— zum Beispiel ist isFinite("1")
true
.
Number.isFinite()
ist eine verlässlichere Methode, um zu testen, ob ein Wert eine endliche Zahl ist, da es für jegliche nicht numerische Eingaben false
zurückgibt.
Beispiele
Verwendung von isFinite()
isFinite(Infinity); // false
isFinite(NaN); // false
isFinite(-Infinity); // false
isFinite(0); // true
isFinite(2e64); // true
isFinite(910); // true
// Would've been false with the more robust Number.isFinite():
isFinite(null); // true
isFinite("0"); // true
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification # sec-isfinite-number |