Maison >interface Web >js tutoriel >Pourquoi « 0 » est-il égal à « Faux » en JavaScript ?

Pourquoi « 0 » est-il égal à « Faux » en JavaScript ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-09 03:24:02780parcourir

Why Does

Comprendre l'égalité en JavaScript : l'énigme du "0" et du "Faux"

En JavaScript, l'opérateur d'égalité (==) convertit opérandes à un type commun avant comparaison, ce qui peut conduire à des résultats inattendus. Une énigme déroutante surgit lorsque l'on teste "0" avec false en utilisant ==.

Considérez le code suivant :

"0" == false // true
false == "0" // true

Ces expressions sont évaluées à true, ce qui implique que "0" est équivalent à false . Cependant, cela contredit le comportement de if("0"), qui affiche "ha":

if("0") console.log("ha") // prints "ha"

Pour percer ce mystère, nous devons approfondir le concept de valeurs "véridiques" et "fausses". en JavaScript. L'opérateur == contraint "0" à une valeur booléenne, ce qui est faux. Cependant, l'instruction if interprète les chaînes non vides comme des valeurs véridiques.

Pour éviter ces incohérences, il est crucial d'utiliser l'opérateur d'égalité stricte (===) lors du test d'équivalence. === effectue une comparaison directe des valeurs sans coercition de type.

"0" === false // false

Le tableau ci-dessous illustre les valeurs vraies et fausses en JavaScript :

Value Truthy Falsey
0 Falsey True
"0" Truthy False
"" Falsey True

N'oubliez pas que == peut conduire à résultats inattendus lors de la comparaison de valeurs de différents types. Optez toujours pour === pour des comparaisons précises et sans ambiguïté.

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