1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
---
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
---
{{JSRef}}
La méthode **`Number.isFinite()`** permet de déterminer si la valeur fournie est un nombre fini.
{{EmbedInteractiveExample("pages/js/number-isfinite.html")}}
## 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 {{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`.
## 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
| 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')}} | |
## Compatibilité des navigateurs
{{Compat("javascript.builtins.Number.isFinite")}}
## Voir aussi
- L'objet {{jsxref("Number")}} auquel appartient cette méthode
- La méthode {{jsxref("isFinite", "isFinite()")}} de l'objet global
|