Dice que la comparación es para fines de clasificación. Entonces sugiero en su lugar:
"a".localeCompare("b");
Vuelve -1desde "a" < "b", 1o de lo 0contrario, como lo necesita para Array.prototype.sort ()
Tenga en cuenta que la clasificación depende de la configuración regional. Por ejemplo, en alemán, äes una variante de a, por lo que "ä".localeCompare("b", "de-DE")vuelve -1. En sueco, äes una de las últimas letras del alfabeto, por lo que "ä".localeCompare("b", "se-SE")vuelve 1.
Sin el segundo parámetro localeCompare, se utiliza la configuración regional del navegador. Lo que en mi experiencia nunca es lo que quiero, porque entonces se clasificará de manera diferente al servidor, que tiene una configuración regional fija para todos los usuarios.