--- title: Number.isFinite() slug: Web/JavaScript/Reference/Global_Objects/Number/isFinite tags: - ECMAScript6 - JavaScript - Méthode - Number - Reference - polyfill translation_of: Web/JavaScript/Reference/Global_Objects/Number/isFinite original_slug: Web/JavaScript/Reference/Objets_globaux/Number/isFinite ---
La méthode Number.isFinite()
permet de déterminer si la valeur fournie est un nombre fini.
Number.isFinite(valeurÀTester);
valeurÀTester
Un booléen indiquant si la valeur passée en argument est un nombre fini.
Par rapport à la fonction de l'objet global {{jsxref("isFinite","isFinite()")}} qui convertit l'argument donné en un nombre, la fonction Number.isFinite
ne convertit pas l'argument et ne renvoie pas true
.
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)
// 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écification | État | Commentaires |
---|---|---|
{{SpecName('ES6', '#sec-number.isfinite', 'Number.isInteger')}} | {{Spec2('ES6')}} | Définition initiale. |
{{SpecName('ESDraft', '#sec-number.isfinite', 'Number.isInteger')}} | {{Spec2('ESDraft')}} |
{{Compat("javascript.builtins.Number.isFinite")}}