JavaScript 算術演算子

概要: このチュートリアルでは、JavaScriptの算術演算子を使用して算術計算を実行する方法を学びます。

JavaScript 算術演算子の概要

JavaScript は、次の標準的な算術演算子をサポートしています。

演算子記号
加算+
減算-
乗算*
除算/

算術演算子は、数値型をオペランドとして受け取り、単一の数値型を返します。数値型には、リテラルまたは変数を指定できます。

加算演算子 (+)

加算演算子は、2つの値の合計を返します。たとえば、次の例では、加算演算子を使用して2つの数の合計を計算します。

let sum = 10 + 20;
console.log(sum); // 30Code language: JavaScript (javascript)

また、加算演算子は、2つの変数とともに使用できます。例:

let netPrice    = 9.99,
    shippingFee = 1.99;
let grossPrice  = netPrice + shippingFee;

console.log(grossPrice);Code language: JavaScript (javascript)

出力

11.98Code language: CSS (css)

いずれかの値が文字列の場合、加算演算子は次の規則を使用します。

  • 両方の値が文字列の場合、2番目の文字列を最初の文字列に連結します。
  • 一方の値が文字列の場合、暗黙的に数値型を文字列に変換し、2つの文字列を連結します。

たとえば、次の例では、加算演算子を使用して2つの文字列を連結します。

let x = '10',
    y = '20';
let result = x + y;

console.log(result);Code language: JavaScript (javascript)

出力

1020

次の例は、加算演算子を使用して、数値と文字列の合計を計算する方法を示しています。

let result = 10 + '20';

console.log(result);    Code language: JavaScript (javascript)

出力

1020

この例では、JavaScriptは数値10を文字列'10'に変換し、2番目の文字列'20'をそれに連結します。

次の表は、特殊な数値で加算演算子を使用した場合の結果を示しています。

最初の値2番目の値結果説明
NaNNaNいずれかの値が NaN の場合、結果は NaN になります。
InfinityInfinityInfinityInfinity + Infinity = Infinity
-Infinity-Infinity-Infinity-Infinity + ( -Infinity) = – Infinity
Infinity-InfinityNaNInfinity + -Infinity = NaN
+0+0+0+0 + (+0) = +0
-0+0+0-0 + (+0) = +0
-0-0-0-0 + (-0) = -0

減算演算子 (-)

減算演算子(-)は、ある数から別の数を引きます。例:

let result = 30 - 10;
console.log(result); // 20Code language: JavaScript (javascript)

値が文字列、ブール値、null、または未定義の場合、JavaScriptエンジンは次の処理を行います。

  • 最初に、Number()関数を使用して値を数値に変換します。
  • 次に、減算を実行します。

次の表は、特別な値で減算演算子を使用する方法を示しています。

最初の値2番目の値結果説明
NaNNaNいずれかの値が NaN の場合、結果は NaN になります。
InfinityInfinityNaNInfinity – Infinity = NaN
-Infinity-Infinity-Infinity-Infinity – ( -Infinity) = NaN
Infinity-InfinityInfinityInfinity
+0+0+0+0 – (+0) = 0
+0-0-0+0 – (-0) = 0
-0-0+0-0 – (-0) = 0

乗算演算子 (*)

JavaScriptでは、アスタリスク(*)を乗算演算子として使用します。乗算演算子は、2つの数値を乗算して、単一の値を返します。例:

let result = 2 * 3;
console.log(result);Code language: JavaScript (javascript)

出力

6

いずれかの値が数値でない場合、JavaScriptエンジンは暗黙的にNumber()関数を使用して数値に変換し、乗算を実行します。例:

let result = '5' * 2;

console.log(result);Code language: JavaScript (javascript)

出力

10

次の表は、乗算演算子が特殊な値でどのように動作するかを示しています。

最初の値2番目の値結果説明
NaNNaNいずれかの値が NaN の場合、結果は NaN になります。
Infinity0NaNInfinity * 0 = NaN
Infinity正の数Infinity-Infinity * 100 = -Infinity
Infinity負の数-InfinityInfinity * (-100) = -Infinity
InfinityInfinityInfinityInfinity * Infinity = Infinity

除算演算子 (/)

Javascriptでは、スラッシュ(/)文字を除算演算子として使用します。除算演算子は、最初の値を2番目の値で割ります。例:

let result = 20 / 10;

console.log(result); // 2Code language: JavaScript (javascript)

いずれかの値が数値でない場合、JavaScriptエンジンは除算のために数値に変換します。例:

let result = '20' / 2;
console.log(result); // 10;Code language: JavaScript (javascript)

次の表は、特殊な値に適用した場合の除算演算子の動作を示しています。

最初の値2番目の値結果説明
NaNNaNいずれかの値が NaN の場合、結果は NaN になります。
数値0Infinity1/0 = Infinity
InfinityInfinityNaNInfinity / Infinity = NaN
00NaN0/0 = NaN
Infinity正の数InfinityInfinity / 2 = Infinity
Infinity負の数-InfinityInfinity / -2 = -Infinity

オブジェクトでのJavaScript算術演算子の使用

値がオブジェクトの場合、JavaScriptエンジンはオブジェクトのvalueOf()メソッドを呼び出して計算用の値を取得します。例:

let energy = {
  valueOf() {
    return 100;
  },
};

let currentEnergy = energy - 10;
console.log(currentEnergy);

currentEnergy = energy + 100;
console.log(currentEnergy);

currentEnergy = energy / 2;
console.log(currentEnergy);

currentEnergy = energy * 1.5;
console.log(currentEnergy);
Code language: JavaScript (javascript)

出力

90
200
50
150

オブジェクトにvalueOf()メソッドがなく、toString()メソッドがある場合、JavaScriptエンジンはtoString()メソッドを呼び出して計算用の値を取得します。例:

let energy = {
  toString() {
    return 50;
  },
};

let currentEnergy = energy - 10;
console.log(currentEnergy);

currentEnergy = energy + 100;
console.log(currentEnergy);

currentEnergy = energy / 2;
console.log(currentEnergy);

currentEnergy = energy * 1.5;
console.log(currentEnergy);
Code language: JavaScript (javascript)

出力

40
150
25
75

まとめ

  • 加算 (+)、減算 (-)、乗算 (*)、除算 (/) を含む JavaScript の算術演算子を使用して算術演算を実行します。
このチュートリアルは役に立ちましたか?