JavaScript で「10」は True と評価されますか? " /> "10" JavaScript で True と評価しますか? " />
JavaScript の文字列と整数の比較の謎が解決されました
HTML に格納されているパラメータが JavaScript によって整数として比較されるという現象はよく発生します。しかし、特有のバグが発生します。ここで、これらのパラメータは文字列として解釈され、不正な整数比較結果が得られるようです。
Toこの不可解な問題を説明するには、次の例を考えてください。
console.log("2" > "10");
予想外に、このステートメントは true と評価されます。この動作は、文字列比較を実行するときにオペランドが強制されることに起因する可能性があります。この場合、「2」は字句的に「10」より大きいため、誤った結果が生じます。 result.
この問題を解決し、正確な整数比較を保証するには、文字列を整数に明示的に解析することが不可欠です。これは、parseInt 関数を使用して実現できます。
alert(parseInt("2", 10) > parseInt("10", 10));
文字列を変換します。同等の数値に対して、整数比較演算が実際の数値に対して実行されることを保証します。
以上がJavaScript で「2」 > 「10」が True と評価されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。