Maison > Article > interface Web > Pourquoi mon code JavaScript attribue-t-il au lieu de comparer ?
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!