Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

isFinite()

Baseline Widely available

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.

La fonction isFinite() détermine si une valeur est finie, en convertissant d'abord la valeur en nombre si nécessaire. Un nombre fini est un nombre qui n'est pas NaN ou ±Infinity. Comme la contrainte à l'intérieur de la fonction isFinite() peut être surprenante, vous pouvez préférer utiliser Number.isFinite().

Exemple interactif

function div(x) {
  if (isFinite(1000 / x)) {
    return "Le nombre n'est PAS infini.";
  }
  return "Le nombre est infini !";
}

console.log(div(0));
// Résultat attendu : "Le nombre est infini !"

console.log(div(1));
// Résultat attendu : "Le nombre n'est PAS infini."

Syntaxe

js
isFinite(value)

Paramètres

value

La valeur à tester.

Valeur de retour

false si la valeur donnée est NaN, Infinity ou -Infinity après avoir été convertie en nombre ; sinon, true.

Description

isFinite() est une propriété fonction de l'objet global.

Lorsque l'argument passé à la fonction isFinite() n'est pas de type nombre, la valeur est d'abord contrainte à un nombre, puis la valeur résultante est comparée à NaN et ±Infinity. Ce comportement est aussi déroutant que celui de isNaN — par exemple, isFinite("1") retourne true.

Number.isFinite() est une façon plus fiable de tester si une valeur est un nombre fini, car elle retourne false pour toute entrée qui n'est pas un nombre.

Exemples

Utiliser la fonction isFinite()

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

isFinite(0); // true
isFinite(2e64); // true
isFinite(910); // true

// Aurait été false avec la méthode plus robuste Number.isFinite() :
isFinite(null); // true
isFinite("0"); // true

Spécifications

Specification
ECMAScript® 2026 Language Specification
# sec-isfinite-number

Compatibilité des navigateurs

Voir aussi