四則演算、べき乗、剰余と演算子の優先順位

加算 足し算(+)

console.log(123 + 456);				// 加算(足し算)
console.log("123" + "456");			// ダブルクォーテーションで括った数値の加算→文字列として結合される)
console.log("今日は" + "いい天気");	// 文字列の結合

実行結果

579
123456
今日はいい天気

加算(足し算)の「+」記号は文字列を結合する場合にも使う。試しにダブルクォーテーションで括った数値を「+」でつなげてみたら文字列として結合されるみたい。そりゃそうだよね^^

減算 引き算(-)

console.log(1234 - 567);		// 減算(引き算)
console.log("1234" - "567");	// ダブルクォーテーションで括った数値の減算の例

実行結果

667
667

減算(引き算)実行結果例。chromeの場合だけど、ダブルクォーテーションで括った数値を「-」してみたらエラーにならず減算されちゃった(゚∀゚)。もちろん通常はこんな使い方しない。

積算 掛け算()及び、べき乗(*)

console.log(123 * 100);		// 積算(掛け算)
console.log(2 ** 3);		// べき乗

実行結果

12300
8

除算 割り算(/)及び、剰余 余り(%)

console.log(12345 / 100);		// 除算(割り算)
console.log(12345 % 100);		// 余りの計算

実行結果

123.45
45

演算の優先順位

// 四則演算の組み合わせ
console.log(4 + 123 * 10 );		// 積算・除算を先に計算

// 括弧ありの計算
console.log((4 + 123) * 10 );	// 括弧の内側から計算

// べき乗の計算
console.log(2 ** 3 * 4 );		// べき乗は積算・除算より優先
console.log(2 * 3 ** 4 );		// 同上

// 剰余の優先順位
console.log(1 + 12 % 10 * 10);	// 積算・除算と剰余は同じ優先順位で左側が優先
console.log(1 + 12 * 10 % 10);	// 同上

実行結果

1234
1270
32
162
21
1

四則演算が混じった計算式は、算数で習った通り加算・減算より積算・除算が優先。括弧がある場合はその内側から計算。 べき乗の計算は積算・除算より優先だけど、剰余の場合は積算・除算と同じ優先順位で左側から計算するので注意。 その他、演算子の優先順位の詳細は、MDN web docsのこちらにまとまってます。

おまけ

// おまけ1
console.log(010 + 1);		// 9

// おまけ2
console.log(090 + 1);		// 91

実行結果

9
91

0始まりの数値は10進数と認識せず8進数に置き換えられる場合があるので注意。同じ0始まりでも9が含まれる数値は10進数に認識された。こういうつまらない実験ばかりしてるかも^^;