Je vois ce code dans un livre:
var a = "one";
var b = "four";
a>b; // will return true
mais il ne mentionne pas pourquoi "un" est plus grand que "quatre". J'ai essayé c = "a"
et il est plus petit que a et b. Je veux savoir comment JavaScript compare ces chaînes.
Parce que, comme dans de nombreux langages de programmation, les chaînes sont comparées lexicographiquement .
Vous pouvez considérer cela comme une version plus sophistiquée de ordre alphabétique , la différence étant que l'ordre alphabétique ne couvre que les 26 caractères a
à z
.
Cette réponse est en réponse à une question Java , mais la logique est exactement la même. Un autre bon: String Compare "Logic" .
"un" commence par "o", "quatre" commence par "f", "o" est plus tard dans l'alphabet que "f", donc "un" est supérieur à "quatre". Voir cette page pour de beaux exemples de comparaisons de chaînes JavaScript (avec explications!).
Javascript utilise l'ordre lexicographique pour l'opérateur >. 'f' continue 'o' donc la comparaison "un"> "quatre" renvoie vrai