Maison  >  Article  >  interface Web  >  Pourquoi mon code JavaScript attribue-t-il au lieu de comparer ?

Pourquoi mon code JavaScript attribue-t-il au lieu de comparer ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-02 08:51:02279parcourir

Why Does My JavaScript Code Assign Instead of Comparing?

Comprendre la comparaison d'égalité en JavaScript

En JavaScript, la comparaison d'égalité est souvent source de confusion, notamment lors de l'utilisation du seul signe égal (= ). Examinons la raison pour laquelle l'extrait de code fourni dans la question d'origine ne se comporte pas comme prévu.

Le rôle de l'affectation

Le seul signe égal (=) est utilisé pour l'affectation, pas pour la comparaison d'égalité. Par conséquent, lorsque vous écrivez :

if (str = '')

vous attribuez en fait une chaîne vide à la variable 'str' au lieu de vérifier l'égalité de sa valeur.

Comparaison d'égalité Opérateurs

Pour comparer les valeurs d'égalité en JavaScript, vous devez utiliser le double signe égal (==) pour une comparaison lâche (permettant la coercition de type) ou le triple signe égal (===) pour une comparaison stricte. comparaison (sans coercition de type)

Explication de la correction

L'utilisation de === (comparaison stricte) dans ce cas garantit que la valeur de 'str' est comparée à une chaîne vide, évitant ainsi le erreur d'affectation. En conséquence, le code déterminera avec précision si la chaîne est vide, a une longueur inférieure ou égale à 9 ou a une longueur allant jusqu'à 10.

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