概要: このチュートリアルでは、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番目の値 | 結果 | 説明 |
|---|---|---|---|
| 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); // 20Code 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); // 2Code 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 の算術演算子を使用して算術演算を実行します。