ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript で「2」 > 「10」が True と評価されるのはなぜですか?

JavaScript で「2」 > 「10」が True と評価されるのはなぜですか?

Mary-Kate Olsen
リリース: 2024-11-28 22:57:10
オリジナル
332 人が閲覧しました

Why Does 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート