JavaScript では、次のような HTML テキスト フィールドからの文字列と整数を比較するコードが発生することがあります。
x >= 1 && x <= 999;
この条件は、テキスト フィールドの値 x が 1 ~ 999 の範囲にあるかどうかを確認します。 (包括的)、驚くほど期待どおりに機能します。ただし、x は文字列ですが、条件には整数が含まれます。これはエラーにつながるのではないでしょうか?
答え: 演算子の強制
JavaScript では、異なるデータ型間の強制を可能にするために >= や <= などの演算子を定義しています。 。その仕組みは次のとおりです:
影響
この強制動作は、次のような予期しない結果を引き起こす可能性があります。
「90」> "100" 文字列が比較されるため。
"90" 数値が比較されるため、100
parseInt() を使用する必要がありますか?
比較前に parseInt() を使用して x を整数に変換するかどうかは、好みの問題。暗黙的な強制に依存することを好む人もいますが、明確さと一貫性のために明示的な変換を好む人もいます。変換オプション
明示的な変換を選択した場合、parseInt 以外のさまざまなオプションがあります。 ():以上が文字列と数値の比較が JavaScript で機能するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。