ECMAScript加算演算子

多くのプログラミング言語では、加法演算子(加号または減号)は最も単純な数学演算子です。

ECMAScriptでは、加法演算子には多くの特殊な動作があります。

加法演算子

法演算子は加号(+)で表されます:

var iResult = 1 + 2

乗法演算子と同様に、特殊な値を処理する際には、ECMAScriptの加法にも特殊な動作があります:

  • ある演算数がNaNの場合、結果はNaNです。
  • -Infinity と -Infinity を足すと、結果は -Infinity になります。
  • Infinity と -Infinity を足すと、結果は NaN になります。
  • +0と+0を足すと、結果は+0です。
  • -0と+0を足すと、結果は+0です。
  • -0と-0を足すと、結果は-0です。

ただし、ある演算子が文字列の場合、以下のルールが適用されます:

  • 演算子の両方が文字列の場合、2つ目の文字列を1つ目に結合します。
  • 演算子の1つが文字列の場合、もう一方の演算子を文字列に変換し、結果は2つの文字列が結合された文字列です。

例えば:

var result = 5 + 5;        //数字2つ
alert(result);        //"10"を出力"
var result2 = 5 + "5";        //数字と文字列
alert(result2);        //"55"を出力"

このコードは、加法演算子の2つのモードの違いを説明しています。通常、5+5は10(元の値)に等しいですが、上記のコードの最初の2行のように、演算子の1つを文字列"5"に変更すると、結果は"55"(元の文字列の値)に変わります。なぜなら、もう一方の演算子も文字列に変換されるからです。

注意:JavaScriptでよくあるエラーを避けるために、加法演算子を使用する際には、演算数のデータ型を慎重に確認することが重要です。

減法演算子

減法演算子(-)は、よく使われる演算子の1つです:

var iResult = 2 - 1;

加法演算子と同様に、特殊値の処理において、減法演算子も特殊な動作があります:

  • ある演算数がNaNの場合、結果はNaNです。
  • InfinityからInfinityを引くと、結果はNaNです。
  • -Infinityから-Infinityを引くと、結果はNaNです。
  • Infinityから-Infinityを引くと、結果はInfinityです。
  • -InfinityからInfinityを引くと、結果は-Infinityです。
  • +0から+0を引くと、結果は+0です。
  • -0から-0を引くと、結果は-0です。
  • +0から-0を引くと、結果は+0です。
  • ある演算子が数字でない場合、結果はNaNです。

注記:演算数がすべて数字の場合、通常の減法演算を実行し、結果を返します。