Maison > Article > interface Web > 3 façons de déterminer si une variable est un nombre en JavaScript (avec code)
Tutoriel recommandé : "Tutoriel vidéo JavaScript"
JavaScript est un langage typé dynamiquement, ce qui signifie que l'interpréteur est exécuté au moment de l'exécutionDéterminez le type de la variable. En fait, cela nous permet également d'utiliser la même variable pour stocker différents types de données dans le même code. Sans documentation et cohérence, nous ne connaissons pas toujours le type d'une variable lorsque nous travaillons avec du code.
Lorsque nous nous attendons à ce qu'une variable soit un nombre, opérer sur des chaînes ou des tableaux peut conduire à des résultats étranges dans le code. Dans cet article, nous présenterons quelques fonctions qui déterminent si une variable est un nombre.
Les chaînes de chiffres comme "10"
ne doivent pas être acceptées. En JavaScript, les valeurs spéciales telles que NaN
, Infinity
et -Infinity
sont également de type numérique.
Sur la base de ces exigences, la meilleure fonction à utiliser est la fonction Number
de l'objet isFinite()
intégré. Cependant, les développeurs utilisent souvent d'autres fonctions telles que les fonctions Number.isNaN()
et typeof()
.
Nous créons d'abord quelques variables :
let intVar = 2; let floatVar = 10.5; let stringVar = '4'; let nanVar = NaN; let infinityVar = Infinity; let nullVar = null; let undefinedVar = undefined;
Utilisez le nom de la fonction Number.isFinite()
Number.isFinite()
vérification de la fonction Si la variable est un nombre, vérifie également s'il s'agit d'une valeur finie. Donc pour un nombre de NaN
, Infinity
ou -Infinity
, ça renvoie false
.
Vérifions-le en utilisant les variables définies ci-dessus :
> Number.isFinite(intVar); true > Number.isFinite(floatVar); true > Number.isFinite(stringVar); false > Number.isFinite(nanVar); false > Number.isFinite(infinityVar); false > Number.isFinite(nullVar); false > Number.isFinite(undefined); false
C'est exactement ce que nous voulons. Les nombres spéciaux non finis et toute variable de type non numérique sont ignorés. Donc, si vous souhaitez vérifier si une variable est un nombre, le meilleur moyen est d'utiliser la fonction Number.isFinite()
.
Utilisez la méthode Number.isNaN()
L'objet standard Number
a une méthode isNaN()
. Il accepte un paramètre et détermine si sa valeur est NaN
. Puisque nous voulons vérifier si une variable est un nombre, nous utiliserons l'opérateur not !
dans la vérification.
> !Number.isNaN(intVar); true > !Number.isNaN(floatVar); true > !Number.isNaN(stringVar); true # Wrong > !Number.isNaN(nanVar); false > !Number.isNaN(infinityVar); true # Wrong > !Number.isNaN(nullVar); true # Wrong > !Number.isNaN(undefinedVar); true # Wrong
Cette méthode est assez indulgente car elle accepte des valeurs qui ne sont pas du tout des nombres. Cette approche fonctionne mieux lorsque vous savez que vous avez un nombre et que vous souhaitez vérifier s'il s'agit d'une valeur NaN
, plutôt qu'une vérification générale des nombres.
Utilisez la méthode typeof()
typeof()
Une fonction est une fonction globale qui accepte une variable ou une valeur comme paramètre et renvoie sa représentation sous forme de chaîne de type. JavaScript a un total de 9
types
object
) Pour vérifier si la variable est un nombre, il suffit de vérifier si typeof()
la valeur renvoyée est `"nombre". Essayons-le avec une variable de test :
> typeof(intVar) == 'number'; true > typeof(floatVar) == 'number'; true > typeof(stringVar) == 'number'; false > typeof(nanVar) == 'number'; true # Wrong > typeof(infinityVar) == 'number'; true # Wrong > typeof(nullVar) == 'number'; false > typeof(undefined) == 'number'; false
La fonction typeof()
fonctionne bien mieux que Number.isNaN()
. Il détermine correctement que les variables chaîne null
et undefined
ne sont pas des nombres. Cependant, pour NaN
et Infinity
, cela revient true
.
Bien que ce soit techniquement le résultat correct, NaN
et Infinity
sont des valeurs numériques spéciales et pour la plupart des cas d'utilisation, nous préférons les ignorer.
Résumé
Dans cet article, nous avons appris comment vérifier si une variable est un nombre en JavaScript. Applicable uniquement lorsque Number.isNaN()函数仅在我们知道变量为数字并且需要验证它是否为
NaN`.
S'il y a NaN
, Infinity
ou -Infinity
et d'autres nombres dans le code, la fonction typeof()` s'applique. La méthode
Number.isFinite()
capture tous les nombres finis et est la plus adaptée à nos besoins.
Adresse originale : https://stackabuse.com/javascript-check-if-variable-is-a-number/
Auteur : Marcus Sanatan
Pour plus de connaissances sur la programmation, veuillez visiter : Introduction à la programmation ! !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!