Maison > Article > interface Web > Pourquoi mon code JavaScript se comporte-t-il mal lors de la vérification de la longueur de la chaîne ?
Comprendre les comparaisons d'égalité en JavaScript
Lorsque vous travaillez avec des chaînes en JavaScript, il est crucial de comprendre comment fonctionnent les comparaisons d'égalité. L'extrait de code suivant vise à vérifier si une chaîne donnée est vide, comporte moins ou égale à 9 chiffres ou comporte jusqu'à 10 chiffres. Cependant, les instructions conditionnelles de l'extrait donnent des résultats inattendus.
if (str = '') { console.log("The string cannot be blank"); } else if (str.length <= 9) { console.log("The string must be at least 9 characters long"); } else if (str.length <= 10) { console.log("The string is long enough."); }
quelle que soit la chaîne d'entrée, le programme affiche systématiquement "La chaîne doit comporter au moins 9 caractères". Ce comportement provient d'une utilisation incorrecte du symbole égal (=) pour les comparaisons d'égalité.
Erreur : mélange d'affectation et d'égalité
En JavaScript, le symbole égal (= ) est principalement utilisé pour l'affectation, pas pour les comparaisons d'égalité. Les comparaisons d'égalité doivent être effectuées à l'aide des opérateurs double égal (==) ou triple égal (===).
Code correct pour la comparaison d'égalité :
La version correcte de l'extrait de code doit utiliser les opérateurs d'égalité appropriés comme suit :
if (str === '') { console.log("The string cannot be blank"); } else if (str.length <= 9) { console.log("The string must be at least 9 characters long"); } else if (str.length <= 10) { console.log("The string is long enough."); }
Le code révisé vérifie la longueur de la chaîne à l'aide des opérateurs corrects, fournissant le comportement attendu de sortie de différents messages en fonction du contenu de la chaîne.
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!