Maison > interface Web > js tutoriel > Pourquoi NaN === NaN renvoie-t-il False en JavaScript ?

Pourquoi NaN === NaN renvoie-t-il False en JavaScript ?

Patricia Arquette
Libérer: 2025-01-25 16:37:09
original
332 Les gens l'ont consulté

Why Does NaN === NaN Return False in JavaScript?

Le comportement particulier de JavaScript où NaN === NaN évalue à false des développeurs souvent des développeurs. Cet article précise pourquoi c'est le cas et propose des méthodes correctes pour la détection de NAN.

Comprendre nan

nan, abréviation de «Not-A-Number», signifie le résultat d'opérations mathématiques invalides ou non définies. Les exemples incluent:

<code class="language-javascript">console.log(0 / 0);       // NaN
console.log(Math.sqrt(-1)); // NaN</code>
Copier après la connexion

Pourquoi l'inégalité?

La norme IEEE 754 pour l'arithmétique à virgule flottante dicte que Nan n'est égal à rien, y compris lui-même. Cette conception empêche le traitement erroné des résultats invalides comme s'ils étaient des valeurs numériques valides. Essentiellement, Nan signale une condition d'erreur et est intrinsèquement incomparable.

Vérification NAN fiable

La comparaison directe échoue lorsqu'il s'agit de NAN. Au lieu de cela, utilisez ces fonctions:

  • isNaN(): Cette fonction globale vérifie si une valeur est nan ou peut être contrainte dans nan:
<code class="language-javascript">console.log(isNaN("abc"));    // true</code>
Copier après la connexion
  • Number.isNaN(): Cette méthode fournit une vérification plus précise de Nan, en évitant la coercition de type:
<code class="language-javascript">console.log(Number.isNaN(NaN)); // true</code>
Copier après la connexion

en résumé

La comparaison NaN === NaN donne false car NAN représente un état d'erreur, pas une valeur numérique. Pour détecter avec précision NAN, utilisez isNaN() ou Number.isNaN() pour un code robuste et fiable.

source

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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal