23 of 264 menu

Fonction isFinite

La fonction isFinite permet de vérifier si un paramètre est un nombre fini (c'est-à-dire non pas une chaîne, un tableau, etc. et non plus l'infini positif ou négatif).

Comment fonctionne cette fonction : elle renvoie false, si le nombre est l'infini positif ou négatif (c'est-à-dire Infinity) ou n'est pas un nombre (c'est-à-dire NaN), dans les autres cas, elle renvoie true. C'est-à-dire que les chaînes, les tableaux, etc. seront convertis en NaN et renverront par conséquent false.

Cependant, il existe des exceptions : une chaîne vide '' renvoie true, une chaîne contenant des espaces '    ' renvoie également true, null renvoie true, pour les valeurs true et false la fonction renvoie également true.

Cela se produit parce que ces valeurs sont converties en nombres, et non en NaN. Si vous avez besoin d'une vérification vraiment précise pour un nombre, qui ne considère pas comme nombre une chaîne d'espaces, les valeurs booléennes et les valeurs spéciales - utilisez la fonction suivante isNumeric :

function isNumeric(num) { return !isNaN(parseFloat(num)) && isFinite(num); };

Voyons comment elle fonctionne. La fonction isFinite convertit le paramètre en nombre et renvoie true, si ce n'est pas Infinity, -Infinity ou NaN. Ainsi, la partie droite éliminera les valeurs clairement non numériques, mais laissera des valeurs comme true, false, null, une chaîne vide '' et une chaîne d'espaces, car elles sont correctement converties en nombres.

Pour éliminer ces valeurs, la fonction parseFloat est nécessaire, qui pour true, false, null, '', '   ' renverra NaN. C'est ainsi que fonctionne parseFloat : elle convertit le paramètre en chaîne, c'est-à-dire que true, false, null deviennent 'true', 'false', 'null', puis lit un nombre à partir de celle-ci, une chaîne vide et une chaîne d'espaces donnant NaN. Ensuite, le résultat de parseFloat est traité à l'aide de !isNaN, pour obtenir true ou false au lieu de NaN. En conséquence, tout est éliminé sauf les chaînes de nombres et les nombres ordinaires.

Syntaxe

isFinite(valeur);

Exemple

Maintenant isFinite affichera true, car le paramètre est un nombre :

let num = 3; console.log(isFinite(num));

Résultat de l'exécution du code :

true

Exemple

Maintenant isFinite affichera false, car le paramètre n'est pas un nombre :

let num = 'abcde'; console.log(isFinite(num));

Résultat de l'exécution du code :

false

Exemple

Maintenant isFinite affichera false, car le paramètre est l'infini :

let num = Infinity; console.log(isFinite(num));

Résultat de l'exécution du code :

false

Exemple

Maintenant isFinite affichera false, car 1/0 - c'est essentiellement Infinity (l'infini) :

let num = 1 / 0; console.log(isFinite(num));

Résultat de l'exécution du code :

false

Exemple

Maintenant isFinite affichera true, car une chaîne vide, qui n'est pas un nombre, est une exception :

let num = ''; console.log(isFinite(num));

Résultat de l'exécution du code :

true

Voir aussi

  • la fonction isNaN,
    qui effectue une vérification pour NaN
  • l'opérateur typeof,
    qui détermine le type de données
Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser