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

Syntaxe

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

Exemples

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)

// 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

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

Spécifications

Spécification État Commentaires
ECMAScript 2015 (6th Edition, ECMA-262)
La définition de 'Number.isInteger' dans cette spécification.
Standard Définition initiale.
ECMAScript Latest Draft (ECMA-262)
La définition de 'Number.isInteger' dans cette spécification.
Projet  

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobileServeur
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidEdge MobileFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung InternetNode.js
Support simpleChrome Support complet 19Edge Support complet OuiFirefox Support complet 16IE Aucun support NonOpera Support complet 15Safari Support complet 9WebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 16Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet 0.10

Légende

Support complet  
Support complet
Aucun support  
Aucun support

Voir aussi

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

Étiquettes et contributeurs liés au document

Contributeurs à cette page : SphinxKnight
Dernière mise à jour par : SphinxKnight,