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 sie den Wert zunächst, falls erforderlich, in eine Zahl umwandelt. Eine endliche Zahl ist eine Zahl, die weder NaN noch ±Infinity ist. Da die Umwandlung innerhalb von isFinite() überraschend sein kann, könnten Sie es bevorzugen, Number.isFinite() zu nutzen.

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

js
isFinite(value)

Parameter

value

Der zu testende Wert.

Rückgabewert

false, wenn der gegebene Wert nach der Umwandlung in eine Zahl NaN, Infinity oder -Infinity ist; ansonsten true.

Beschreibung

isFinite() ist eine Funktionseigenschaft des globalen Objekts.

Wenn das Argument der isFinite()-Funktion nicht von Typ Number ist, wird der Wert zuerst in eine Zahl umgewandelt und der resultierende Wert dann mit NaN und ±Infinity verglichen. Dies ist ebenso verwirrend wie das Verhalten von isNaN — zum Beispiel ist isFinite("1") true.

Number.isFinite() ist eine zuverlässigere Methode, um zu testen, ob ein Wert eine endliche Zahl ist, da sie für Eingaben, die keine Zahl sind, false zurückgibt.

Beispiele

Verwendung von isFinite()

js
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® 2025 Language Specification
# sec-isfinite-number

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch