Le JavaScriptComment déterminer si une variable est un nombre.
Tout le monde disait qu'il n'y avait pas de projet à écrire sur son CV, alors je les ai aidés à trouver un projet.
JavaScript est un langage typé dynamiquement, ce qui signifie que l'interpréteur détermine le type d'une variable au moment de l'exécution. 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 comme NaN
, Infinity
et -Infinity
sont également de type nombre.
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;复制代码
Number.isFinite()
pour vérifier si la variable est un nombre et également vérifier si elle est 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()
.
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 numéro et que vous souhaitez vérifier s'il s'agit d'une valeur NaN
, plutôt que d'une vérification générale du numéro.
typeof()
Une fonction est une fonction globale qui accepte une variable ou une valeur comme argument et renvoie une représentation sous forme de chaîne de son 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.
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.
Il est impossible de connaître les bugs possibles en temps réel après le déploiement du code. Afin de résoudre ces bugs par la suite, beaucoup de temps a été consacré au débogage des logs. pour recommander un bug utile à tout le monde.
Recommandations d'apprentissage gratuites associées : javascript(vidéo)
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!