Maison >interface Web >js tutoriel >Comment fonctionnent les comparaisons d'égalité en JavaScript, en particulier avec les chaînes ?

Comment fonctionnent les comparaisons d'égalité en JavaScript, en particulier avec les chaînes ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-03 04:32:031007parcourir

 How Do Equality Comparisons Work in JavaScript, Especially with Strings?

Comprendre les comparaisons d'égalité en JavaScript

Lorsque vous travaillez avec des chaînes en JavaScript, il est essentiel de saisir la distinction entre l'affectation d'égalité et la comparaison d'égalité. Cette distinction devient évidente lorsque l'on tente de déterminer si une chaîne répond à des critères de longueur spécifiques.

Considérez le code suivant :

if (str = '') {...} // Incorrect equality assignment
else if (str.length <= 9) {...}
else if (str.length <= 10) {...}

Le problème avec ce code réside dans la première ligne, où = est utilisé pour l’affectation d’égalité au lieu de la comparaison d’égalité. L'opérateur unique égal = attribue une valeur à str, puis renvoie cette valeur attribuée. Cela signifie que la première condition if sera toujours fausse car '' est une valeur fausse en JavaScript.

L'approche correcte pour vérifier l'égalité consiste à utiliser les opérateurs double égal == ou strict égal ===. La différence entre les deux est que == effectue une coercition de type, alors que === ne le fait pas. Par exemple :

if (str === '') {...} // Correct equality comparison
else if (str.length <= 9) {...}
else if (str.length <= 10) {...}

Dans ce code, l'instruction if vérifie si str est une chaîne vide à l'aide de l'opérateur de comparaison d'égalité stricte ===. Si ce n'est pas le cas, le code vérifie les contraintes de longueur à l'aide des instructions else if. Cela garantit une évaluation précise de la longueur de la chaîne en fonction des critères donnés.

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