Why is one string greater than the other when comparing strings in JavaScript?

patriot7 picture patriot7 · Aug 17, 2011 · Viewed 46.7k times · Source

I see this code from a book:

var a = "one";
var b = "four";
a>b; // will return true

but it doesn't mention why "one" is bigger than "four". I tried c = "a" and it is smaller than a and b. I want to know how JavaScript compares these strings.

Answer

Matt Ball picture Matt Ball · Aug 17, 2011

Because, as in many programming languages, strings are compared lexicographically.

You can think of this as a fancier version of alphabetical ordering, the difference being that alphabetic ordering only covers the 26 characters a through z.


This answer is in response to a question, but the logic is exactly the same. Another good one: String Compare "Logic".