Maison  >  Article  >  interface Web  >  Déterminer si une variable est un nombre en JavaScript

Déterminer si une variable est un nombre en JavaScript

coldplay.xixi
coldplay.xixiavant
2020-10-23 17:03:572753parcourir

Le JavaScriptComment déterminer si une variable est un nombre.

Déterminer si une variable est un nombre en JavaScript

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.

Introduction

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;复制代码

Utilisez le nom de la fonction Number.isFinite()

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().

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 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.

Utilisez la méthode typeof()

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

  • 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复制代码

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.


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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer