web-dev-qa-db-ja.com

JavaScriptで文字列を比較するときに、ある文字列が他の文字列よりも大きいのはなぜですか?

私は本からこのコードを見ます:

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

しかし、「1」が「4」よりも大きい理由については言及していません。私は試した c = "a"およびaおよびbよりも小さい。 JavaScriptがこれらの文字列を比較する方法を知りたいです。

42
patriot7

なぜなら、多くのプログラミング言語のように、文字列は 辞書的に と比較されるからです。

これは アルファベット順 のより洗練されたバージョンと考えることができますが、アルファベット順は26文字のaからzしかカバーしないという違いがあります。


この回答Java の質問に対する応答ですが、ロジックはまったく同じです。別の良いもの: String Compare "Logic"

41
Matt Ball

「one」は「o」で始まり、「four」は「f」で始まり、「o」はアルファベットの「f」よりも遅いため、「one」は「four」より大きい。 JavaScript文字列比較のいくつかの素敵な例については、 このページ を参照してください(説明付き!)。

11
Paul

Javascriptは>演算子に辞書順を使用します。 'f'は 'o'に進むため、比較"one"> "four"trueを返します。

3
martin