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

0 et -0 sont-ils considérés comme égaux en JavaScript ?

Susan Sarandon
Libérer: 2024-11-20 14:39:22
original
913 Les gens l'ont consulté

Are  0 and -0 Considered Equal in JavaScript?

0 et -0 sont-ils identiques en JavaScript ?

Malgré la distinction faite dans la spécification ECMAScript 5.1, 0 et -0 sont évalués comme true en utilisant l'égalité stricte en JavaScript.

Pourquoi cela ?

JavaScript adopte la norme IEEE 754 pour la représentation numérique. Selon cette norme, le zéro signé peut exister sous deux formes : 0 (zéro positif) et -0 (zéro négatif). Cependant, la division par 0 ou -0 donne respectivement ∞ et -∞, plutôt qu'indéfini.

Techniquement, cette distinction entre 0 et -0 est cruciale. Cependant, JavaScript fournit une exception dans son algorithme d'égalité stricte. La section 11.9.6 indique explicitement que 0 et -0 sont traités comme égaux dans les comparaisons d'égalité stricte.

Cette exception s'aligne sur la notion logique de traiter 0 et -0 comme équivalents. De plus, cela simplifie le développement en éliminant le besoin de prendre en compte cette distinction dans le code.

Remarque :

ES2015 a introduit Object.is comme nouvelle méthode de comparaison. Contrairement aux opérateurs d'égalité lâche et stricte, Object.is fait expressément la distinction entre 0 et -0 :

Object.is(-0, +0); // false
Copier après la connexion

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