概要: このチュートリアルでは、JavaScriptの算術演算子を使用して算術計算を実行する方法を学びます。
JavaScript 算術演算子の概要
JavaScript は、次の標準的な算術演算子をサポートしています。
演算子 | 記号 |
---|---|
加算 | + |
減算 | - |
乗算 | * |
除算 | / |
算術演算子は、数値型をオペランドとして受け取り、単一の数値型を返します。数値型には、リテラルまたは変数を指定できます。
加算演算子 (+)
加算演算子は、2つの値の合計を返します。たとえば、次の例では、加算演算子を使用して2つの数の合計を計算します。
let sum = 10 + 20;
console.log(sum); // 30
Code language: JavaScript (javascript)
また、加算演算子は、2つの変数とともに使用できます。例:
let netPrice = 9.99,
shippingFee = 1.99;
let grossPrice = netPrice + shippingFee;
console.log(grossPrice);
Code language: JavaScript (javascript)
出力
11.98
Code 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番目の値 | 結果 | 説明 |
---|---|---|---|
NaN | NaN | いずれかの値が NaN の場合、結果は NaN になります。 | |
Infinity | Infinity | Infinity | Infinity + Infinity = Infinity |
-Infinity | -Infinity | -Infinity | -Infinity + ( -Infinity) = – Infinity |
Infinity | -Infinity | NaN | Infinity + -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); // 20
Code language: JavaScript (javascript)
値が文字列、ブール値、null、または未定義の場合、JavaScriptエンジンは次の処理を行います。
- 最初に、
Number()
関数を使用して値を数値に変換します。 - 次に、減算を実行します。
次の表は、特別な値で減算演算子を使用する方法を示しています。
最初の値 | 2番目の値 | 結果 | 説明 |
---|---|---|---|
NaN | NaN | いずれかの値が NaN の場合、結果は NaN になります。 | |
Infinity | Infinity | NaN | Infinity – Infinity = NaN |
-Infinity | -Infinity | -Infinity | -Infinity – ( -Infinity) = NaN |
Infinity | -Infinity | Infinity | Infinity |
+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番目の値 | 結果 | 説明 |
---|---|---|---|
NaN | NaN | いずれかの値が NaN の場合、結果は NaN になります。 | |
Infinity | 0 | NaN | Infinity * 0 = NaN |
Infinity | 正の数 | Infinity | -Infinity * 100 = -Infinity |
Infinity | 負の数 | -Infinity | Infinity * (-100) = -Infinity |
Infinity | Infinity | Infinity | Infinity * Infinity = Infinity |
除算演算子 (/)
Javascriptでは、スラッシュ(/
)文字を除算演算子として使用します。除算演算子は、最初の値を2番目の値で割ります。例:
let result = 20 / 10;
console.log(result); // 2
Code language: JavaScript (javascript)
いずれかの値が数値でない場合、JavaScriptエンジンは除算のために数値に変換します。例:
let result = '20' / 2;
console.log(result); // 10;
Code language: JavaScript (javascript)
次の表は、特殊な値に適用した場合の除算演算子の動作を示しています。
最初の値 | 2番目の値 | 結果 | 説明 |
---|---|---|---|
NaN | NaN | いずれかの値が NaN の場合、結果は NaN になります。 | |
数値 | 0 | Infinity | 1/0 = Infinity |
Infinity | Infinity | NaN | Infinity / Infinity = NaN |
0 | 0 | NaN | 0/0 = NaN |
Infinity | 正の数 | Infinity | Infinity / 2 = Infinity |
Infinity | 負の数 | -Infinity | Infinity / -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 の算術演算子を使用して算術演算を実行します。