Number.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.

La méthode Number.isFinite() permet de déterminer si la valeur fournie est un nombre fini.

Exemple interactif

console.log(Number.isFinite(1 / 0));
// Expected output: false

console.log(Number.isFinite(10 / 5));
// Expected output: true

console.log(Number.isFinite(0 / 0));
// Expected output: false

Syntaxe

js
Number.isFinite(valeurÀTester);

Paramètres

valeurÀTester

La valeur dont on souhaite savoir si elle est finie.

Valeur de retour

Un booléen indiquant si la valeur passée en argument est un nombre fini.

Description

Par rapport à la fonction de l'objet global isFinite() qui convertit l'argument donné en un nombre, la fonction Number.isFinite ne convertit pas l'argument et ne renvoie pas true.

Exemples

js
Number.isFinite(Infinity); // false
Number.isFinite(NaN); // false
Number.isFinite(-Infinity); // false

Number.isFinite(0); // true
Number.isFinite(2e64); // true

Number.isFinite("0"); // false, ce qui aurait
// renvoyé true avec isFinite("0")

Number.isFinite(null); // false, ce qui aurait
// renvoyé true avc isFinite(null)

Prothèse d'émulation (polyfill)

js
// Number.isFinite polyfill
// http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.isfinite
if (typeof Number.isFinite !== "function") {
  Number.isFinite = function isFinite(value) {
    // 1. Si Type(number) n'est pas Number, on renvoie false.
    if (typeof value !== "number") {
      return false;
    }
    // 2. Si le nombre est NaN, +∞, ou −∞, on renvoie false.
    if (value !== value || value === Infinity || value === -Infinity) {
      return false;
    }
    // 3. Sinon on renvoie true.
    return true;
  };
}

Deuxième version plus concise qui utilise la méthode globale isFinite

js
if (Number.isFinite === undefined)
  Number.isFinite = function (value) {
    return typeof value === "number" && isFinite(value);
  };

Spécifications

Specification
ECMAScript® 2025 Language Specification
# sec-number.isfinite

Compatibilité des navigateurs

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
isFinite

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Voir aussi

  • L'objet Number auquel appartient cette méthode
  • La méthode isFinite() de l'objet global