理由を、次の作品:Javascriptを比較する文字列の数
oldversion = "1.3.52";
newversion = "1.3.54";
if (newversion > oldversion) {
console.log('test');
}
しかし、これにはない:
if (1.3.54 > 1.3.52) {
console.log('test');
}
私は、彼らが実際の数値ではないので、最後の例では動作しないことを知っています。しかし、これまでのところ、javascriptが数字の入った文字列に遭遇したときに、javascriptが何をしているのかを調べようとしています。
これは私がW3で見つけたものです:
数の文字列を比較する場合の比較を行う際に、JavaScriptは数値に 文字列を変換します。
文字列を数字に変換すると、突然私はUncaught SyntaxError: Unexpected number
をもう取得できません。
「1.3.54」これは数字ではなく、単純なものです。 '1'は数字か' 1.3'は数字ですが、それ以上のドットを加えることは無効です。 – vlaz
私はこれを理解している私の記事に記載しています。それは私の他の例がうまくいく理由を説明していません。それが私が知りたいものです。 –
これは単に文字列を比較しているだけです。バージョンの確認にこれを使用するのは間違いでしょう。 – Keith