Maison > interface Web > js tutoriel > Pourquoi « 0 » est-il considéré comme faux en JavaScript avec « ==', mais vrai dans une instruction « if » ?

Pourquoi « 0 » est-il considéré comme faux en JavaScript avec « ==', mais vrai dans une instruction « if » ?

Susan Sarandon
Libérer: 2024-11-04 16:22:02
original
1081 Les gens l'ont consulté

Why is

Détermination de l'égalité et de la véracité de "0" en JavaScript

Dans le domaine de JavaScript, le concept de véracité et d'égalité joue un rôle crucial rôle dans la détermination du flux d’exécution des programmes. Cela soulève une question : pourquoi "0" est-il considéré comme faux en JavaScript lorsqu'il est évalué avec l'opérateur d'égalité "==", alors qu'il est évalué comme vrai lorsqu'il est utilisé comme condition dans une instruction "if" ?

Égalité en JavaScript

L'égalité en JavaScript est établie via l'opérateur "==", qui effectue une coercition de type pour comparer des valeurs de différents types. Dans le cas de "0" et false, les deux sont considérés comme du même type (booléen) et sont donc égaux lors de l'utilisation de l'opérateur "==".

Vérité et fausseté

La véracité et la fausseté en JavaScript font référence à l'évaluation d'une valeur comme vraie ou fausse dans des contextes booléens, comme dans une instruction « if ». Les valeurs suivantes sont intrinsèquement fausses en JavaScript :

  • undefined
  • null
  • 0
  • "" (chaîne vide)
  • false

Cependant, lorsqu'il est utilisé comme condition dans une instruction « if », « 0 » est évalué comme vrai car il n'est explicitement égal à aucune des fausses valeurs prédéfinies.

Résoudre le paradoxe

Le paradoxe apparent découle de la nature des contrôles d'égalité et de l'évaluation de la véracité en JavaScript. Bien que "0" et false soient considérés comme égaux à l'aide de l'opérateur "==", ils ne sont pas strictement égaux (!==). Lorsqu'elle est utilisée comme condition dans une instruction « if », l'égalité stricte n'est pas appliquée, permettant à « 0 » d'être évalué comme vrai.

Pour éviter cette ambiguïté, il est recommandé de toujours utiliser l'égalité stricte (=== ) lors de la comparaison de valeurs en JavaScript, car il fournit une évaluation claire et cohérente.

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