算術演算子 (JavaScript)

算術演算子は、基本的な算術演算を実行します。

演算 説明
n1 + n2 n1 足す n2 を返します。
n1 - n2 n1 引く n2 を返します。
n1 * n2 n1 掛ける n2 を返します。
n1 / n2 n1 割る n2 を返します。
n1 % n2 n1 mod n2、つまり n1n2 で整数除算した余りを返します。
n++ n を返し、その後に n を 1 増やします。
++n n を 1 増やし、その後に n を返します。
n-- n を返し、その後に n を 1 減らします。
--n n を 1 減らし、その後に n を返します。
-n n を符号反転します。
+n n と同じです。

使用法

算術演算の結果は、その結果に小数部がない場合は整数であり、結果に小数部がある場合は浮動小数点数です。

2 つの整数の除算の結果に小数部がある場合は、小数部を切り捨てた整数ではなく、浮動小数点値になります。例えば、13 / 4 = 3.25 となります。小数部が切り捨てられた整数を得るには、最初に被除数からモジュラスを減算するとよいでしょう。例えば、(13 - ( 13 % 4)) / 4 = 3 のようにします。

この例では、加算、減算、乗算、除算の算術演算子を実行します。
var n = 3;
var m = 4;
var x = 3.1;
var y = 4.2;
print("<<<n = " + n + ">>>");
print("<<<m = " + m + ">>>");
print("<<<x = " + x + ">>>");
print("<<<y = " + y + ">>>");
print("<<<n+m = " + (n + m) + ">>>"); // 7
print("<<<n-m = " + (n - m) + ">>>"); // -1
print("<<<n*m = " + (n * m) + ">>>"); // 12
print("<<<n/m = " + (n / m) + ">>>"); // 0.75
print("<<<n+x = " + (n + x) + ">>>"); // 6.1
print("<<<n-x = " + (n - x) + ">>>"); // -0.10000000000000009
print("<<<n*x = " + (n * x) + ">>>"); // 9.3
print("<<<5*x = " + (5 * y) + ">>>"); // 21
print("<<<n/x = " + (n / x) + ">>>"); // 0.9677419354838709

以下はモジュラス演算子の例であり、余りのある整数除算の方法を示します。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var n = 13;
var m = 4;
p("n = " + n);
p("m = " + m);
var r = n % m;
var q = (n - r) / m;
p("integer n / m = " + q + ", remainder " + r); // 3, 1

この例は、インクリメント演算子とデクリメント演算子を示します。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var ipost = 0;
var ipre = 0;
var dpost = 0;
var dpre = 0;

for(var i = 0; i < 5; i++) {
	p("iteration number " + i); // 0 on first iteration
	p("ipost = " + ipost++); // 0 on first iteration
	p("ipre = " + ++ipre); // 1 on first iteration
	p("dpost = " + dpost--); // 0 on first iteration
	p("ipre = " + --dpre); // -1 on first iteration
}

この例は、符号反転演算子を示します。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var n = 1;
var m = -1;
var nn = -n;
var mm = -m;

p("negative " + n + " = " + nn); // prints -1
p("negative " + m + " = " + mm); // prints 1