数値加算における合計ではなく連結
特定のプログラミング シナリオでは、2 つの数値を合計しようとすると、予期しない動作が発生する可能性があります。数値は加算されるのではなく連結されます。この問題は、入力値が数値ではなく文字列として扱われる場合に発生します。
次の JavaScript コードを考えてみましょう:
function myFunction() { var y = document.getElementById("txt1").value; var z = document.getElementById("txt2").value; var x = y + z; document.getElementById("demo").innerHTML = x; }
このコードを実行すると、1 2 という特殊な結果が発生する可能性があります。予想される「3」ではなく「12」を返します。これは、変数 y と z が最初に HTML 入力フィールドから文字列として取得されるために発生します。 JavaScript は、文字列に対する連結演算 ( ) を数値に対する場合とは異なる方法で解釈します。
この問題を修正して数値を確実に加算するには、計算を実行する前に文字列を明示的に数値に変換する必要があります。 JavaScript は、" " (単項プラス演算子) を使用してこれを実現する簡単なソリューションを提供します。
var x = +y + +z;
各文字列の先頭に " " を付けることで、強制的に数値に変換されます。これにより、JavaScript が必要な加算演算を実行できるようになり、数値の正しい合計が得られます。したがって、修正されたコード スニペットは次のようになります。
function myFunction() { var y = +document.getElementById("txt1").value; var z = +document.getElementById("txt2").value; var x = y + z; document.getElementById("demo").innerHTML = x; }
この変更により、入力値が数値として扱われるようになり、連結の問題が回避され、適切な合計が生成されます。
以上がJavaScript が数値を加算する代わりに連結するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。