Vérifier si une valeur est NaN en JavaScript
-
Utilisez la fonction intégrée
isNaN()
pour vérifier si une valeur estNaN
en JavaScript -
Combinez
isNaN()
avecparseFloat()
pour gérer les chaînes vides -
Vérifier si une valeur est
NaN
en utilisant un opérateur de comparaison en JavaScript
Les valeurs NaN
en JavaScript peuvent rendre perplexes les nouveaux venus dans le langage, d’autant plus qu’elles sont souvent confondues avec les valeurs undefined
ou Null
. NaN
est un acronyme pour Not-a-Number
, ce qui rend leur objectif assez évident.
JavaScript peut rendre difficile la distinction entre différentes valeurs indéfinies. Les opérations booléennes ont également quelques pièges dont vous devez être conscient lorsque vous traitez avec des valeurs NaN
.
Il y a des situations où il faut vérifier et voir si une certaine valeur est de type NaN
. En tant que tel, voici quelques méthodes que vous pouvez utiliser pour vérifier si une valeur est NaN
.
Utilisez la fonction intégrée isNaN()
pour vérifier si une valeur est NaN
en JavaScript
L’un des moyens les plus utiles pour effectuer cette vérification consiste à utiliser la méthode de bibliothèque standard isNaN()
. Si la valeur que vous lui donnez est NaN
, alors le retour de cette fonction sera true
. Voici un exemple de la façon dont vous pouvez l’utiliser dans votre code :
let myvar_1 = 'dog';
let myvar_2 = '2';
console.log(isNaN(myvar_1));
console.log(isNaN(myvar_2));
Production :
true
false
Combinez isNaN()
avec parseFloat()
pour gérer les chaînes vides
Comme mentionné ci-dessus, il y a quelques pièges auxquels vous devez faire attention. L’une d’entre elles implique des chaînes vides, qui renverront false
lors de l’utilisation de la fonction isNaN()
. Voici un exemple:
let myvar_1 = '';
console.log(isNaN(myvar_1));
Production :
false
Naturellement, ce n’est probablement pas le résultat que vous souhaitez dans ce cas. Pour gérer correctement ces cas, vous pouvez ajouter la méthode parseFloat()
à l’intérieur de la fonction isNaN()
comme suit :
let myvar_1 = '';
console.log(isNaN(parseFloat(myvar_1)));
Production :
true
Vérifier si une valeur est NaN
en utilisant un opérateur de comparaison en JavaScript
La méthode suivante est encore plus rapide que celles décrites ci-dessus et nécessite également moins de code. D’un autre côté, c’est un peu plus déroutant, sans compter qu’il peut s’avérer difficile à maintenir et à documenter correctement.
En bref, les valeurs JavaScript NaN
sont les seules à ne pas être égales à elles-mêmes. De ce fait, une simple comparaison peut facilement vous dire si la valeur qui vous intéresse est NaN
ou non. Voici comment cela fonctionne :
let myvar_1 = NaN;
let myvar_2 = 'dog';
let myvar_3 = '2';
console.log(myvar_1 !== myvar_1);
console.log(myvar_2 !== myvar_2);
console.log(myvar_3 !== myvar_3);
Production :
true
false
false
Cette méthode fonctionne différemment de la fonction isNaN()
. Dans l’exemple précédent, les chaînes qui peuvent être analysées comme des nombres sont considérées comme des nombres. Si vous utilisez l’opérateur de comparaison, les mêmes chaînes ne seront pas analysées comme des nombres. Cet exemple spécifique ne renvoie true
que si la valeur est clairement définie comme NaN
.
Les deux méthodes ont leurs mérites, mais il faut savoir qu’elles fonctionnent différemment, il faut donc éviter de les mélanger dans la même base de code.
Article connexe - JavaScript Variable
- Accéder à la variable de session en JavaScript
- Vérifier les variables indéfinies et nulles en JavaScript
- Masquer la valeur de la variable en JavaScript
- Pourquoi les variables globales donnent des valeurs indéfinies en JavaScript
- Utiliser la variable JavaScript en HTML
- Afficher une variable JavaScript dans le corps HTML