Maison > interface Web > js tutoriel > le corps du texte

3 façons de déterminer si une variable est un nombre en JavaScript (avec code)

青灯夜游
Libérer: 2020-10-30 17:29:55
avant
11258 Les gens l'ont consulté

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;
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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

  • non défini
  • booléen
  • numéro
  • chaîne
  • bigint
  • symbole
  • objet
  • null (typeof() affiche object)
  • fonction (un type spécial d'objet)

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
Copier après la connexion

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!

Étiquettes associées:
source:segmentfault.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!