Maison  >  Article  >  interface Web  >  Lors de la comparaison de chaînes en JavaScript, pourquoi « 11 » est-il inférieur à « 3 » ?

Lors de la comparaison de chaînes en JavaScript, pourquoi « 11 » est-il inférieur à « 3 » ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-18 12:10:30710parcourir

When Comparing Strings in JavaScript, Why is

Comprendre la logique derrière la comparaison de chaînes en JavaScript

En JavaScript, lors de la comparaison de chaînes, le langage utilise un ordre lexicographique plutôt que leur longueur ou leur valeur . Cela signifie que les chaînes sont comparées caractère par caractère, en commençant par le premier caractère jusqu'à ce qu'une inégalité soit trouvée ou qu'il ne reste plus de caractères à comparer.

Pour répondre au cas spécifique mentionné dans le titre, malgré l'apparition du "11" numériquement plus grand que « 3 », JavaScript perçoit « 11 » comme inférieur à « 3 » en raison de la différence entre leur premier caractère. Le point de code Unicode pour le caractère « 1 » est inférieur à celui du caractère « 3 ».

Considérez les exemples suivants :

  • « 31 » est inférieur à « 3 » car le premier caractère de '31' est '3', qui est inférieur à '3'.
  • '31' est inférieur à '32' car le deuxième caractère de '31' est '1', ce qui est inférieur à « 2 ».
  • « 31 » n'est pas inférieur à « 30 » car le deuxième caractère de « 31 » est supérieur à « 0 ».
  • « abc » n'est pas inférieur à « 2 ». que 'aaa' car 'a' est égal à 'a' et 'b' est supérieur à 'a.'
  • 'abc' est inférieur à 'abd' car 'b' est inférieur à 'd .'

Pour convertir explicitement des chaînes en nombres, vous pouvez utiliser l'opérateur ' :

  • '11' n'est pas inférieur à '3' car les nombres convertis sont 11 et 3, respectivement.

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