JavaScriptの算術演算子とは?+ー✖️➗の使い方と優先順位を初心者向けに解説

JavaScript

「JavaScriptで合計金額や平均値を出したいけれど、どう書けばいいの?」 「プログラミングの計算って、算数と同じ考え方で大丈夫?」

JavaScriptで数値の計算を行うときに使う記号を、プログラミング用語で**「算術演算子(さんじゅつえんざんし)」**と呼びます。

足し算や引き算といった基本は算数と同じですが、プログラミング特有の「余り(あまり)の計算」や「値を1つ増やす特殊な記号」など、知っておくと便利なテクニックがたくさんあります。

この記事では、算術演算子の全種類から、計算の優先順位、そして初心者がハマりやすい「計算の落とし穴」まで、プロの視点で徹底的に解説します。

基本の五則演算:日常的に使う算術演算子

まずは、最も頻繁に使う5つの演算子を確認しましょう。これらは算数の記号と似ていますが、掛け算と割り算の記号が少し特殊です。

加算(+):足し算

数値を足すときに使います。

console.log(10 + 5); // 結果: 15

減算(-):引き算

数値を引くときに使います。

console.log(10 - 5); // 結果: 5

乗算(*):掛け算

「x」ではなく、アスタリスク * を使います。

console.log(10 * 5); // 結果: 50

除算(/):割り算

「÷」ではなく、スラッシュ / を使います。

console.log(10 / 5); // 結果: 2

剰余(%):割り算の「余り」

パーセント記号 % を使うと、割り算をしたときの「余り」だけを取得できます。

console.log(10 % 3); // 結果: 1(10÷3=3 余り 1)

この剰余演算は、実務では「偶数か奇数かの判定(2で割った余りが0なら偶数)」などに非常によく使われます。

べき乗とインクリメント:プログラミング特有の演算子

次に、少し特殊な演算子を見ていきましょう。これらを使いこなせると、コードがぐっと短く、スマートになります。

べき乗(**):累乗の計算

「2の3乗(2x2x2)」のような計算には ** を使います。

console.log(2 ** 3); // 結果: 8

インクリメント(++):値を1増やす

変数の中身を1だけ増やしたいときに使います。

let count = 1;
count++;
console.log(count); // 結果: 2

ループ処理(繰り返し)で回数を数えるときなどに多用されます。

デクリメント(–):値を1減らす

逆に、変数の中身を1だけ減らしたいときに使います。

let count = 10;
count--;
console.log(count); // 結果: 9

重要!インクリメントの「前置」と「後置」の違い

++ を変数の前に書くか、後に書くかで、実行されるタイミングが変わります。これは中級者でも一瞬迷うポイントです。

後置演算(count++)

「今の値を使ってから、後で1増やす」という動きをします。

let a = 5;
let b = a++; 
console.log(a); // 6
console.log(b); // 5(増える前の値が代入される)

前置演算(++count)

「先に1増やしてから、その値を使う」という動きをします。

let a = 5;
let b = ++a;
console.log(a); // 6
console.log(b); // 6(増えた後の値が代入される)

初心者のうちは混乱しやすいため、基本的には「後置(count++)」を使い、複雑な式の中では使わないようにするのが安全です。

代入演算子との組み合わせ(複合代入演算子)

「今の値に10を足して、また同じ変数に保存し直したい」という場合、普通に書くとこうなります。
score = score + 10;
これを短く書けるのが「複合代入演算子」です。

複合代入演算子の種類

  • +=x += yx = x + y と同じ
  • -=x -= yx = x - y と同じ
  • *=x *= yx = x * y と同じ
  • /=x /= yx = x / y と同じ
let score = 100;
score += 50; // score = 100 + 50 と同じ
console.log(score); // 150

計算の優先順位:正しい順番を覚えよう

JavaScriptの計算順序は、基本的には算数のルールと同じ「掛け算・割り算が先、足し算・引き算が後」です。

標準的な優先順位

  1. カッコの中( )
  2. べき乗 **
  3. 乗算 * ・除算 / ・剰余 %
  4. 加算 + ・減算

意図通りに計算させるコツ

複雑な計算をするときは、「迷ったらカッコを付ける」のが鉄則です。

// 平均値を出すとき
const total = 100 + 200 + 300;
const average = (100 + 200 + 300) / 3; // カッコがないと 300 / 3 が先に計算されてしまう

初心者がハマる!JavaScript計算の「3つの落とし穴」

ここからは、教科書にはあまり載っていないけれど、実際の開発で必ずぶつかる注意点を解説します。

文字列が混ざると計算が壊れる

数値と文字列を + で繋ぐと、計算ではなく「文字の連結」になります。

console.log(10 + "20"); // 結果: "1020"(数値ではなく文字列になる)

外部から入力された値(フォームの値など)は、一度Number()で数値に変換してから計算する癖をつけましょう。

浮動小数点数の計算誤差(0.1 + 0.2問題)

驚くべきことに、JavaScript(および多くのプログラミング言語)では以下の計算結果が正確になりません。

console.log(0.1 + 0.2); // 結果: 0.30000000000000004

これはコンピューターが数値を「2進数」で扱っているために起こる限界です。
対策: お金を扱うような厳密な計算では、「一度100倍して整数にしてから計算し、最後に100で割る」といった工夫が必要です。

NaN(Not a Number)の発生

数値ではないもの(例えば文字列の「あ」など)を無理やり計算しようとすると、NaNという特殊な値が返ってきます。

console.log("あ" * 10); // 結果: NaN

一度NaNになると、その後の計算はすべてNaNになってしまいます。「計算結果がおかしいな?」と思ったら、途中でNaNが発生していないかチェックしましょう。

実践:消費税込みの価格計算プログラムを作ってみよう

これまでの知識を総動員して、実用的なコードを書いてみましょう。

const itemPrice = 1200; // 商品価格
const taxRate = 0.1;    // 消費税率(10%)
const count = 3;        // 購入個数

// 1. 小計を出す
let subtotal = itemPrice * count;

// 2. 税額を出す
let taxAmount = subtotal * taxRate;

// 3. 合計金額を出す
let totalPrice = subtotal + taxAmount;

console.log("小計:" + subtotal + "円");
console.log("税額:" + taxAmount + "円");
console.log("合計:" + totalPrice + "円");

変数を使い、適切な算術演算子を組み合わせることで、どんな複雑な計算も自動化できるようになります。

まとめ:算術演算子をマスターしてロジックを作ろう

今回はJavaScriptの「計算」を支える算術演算子について詳しく解説しました。

  • 基本五則演算(+ – * / %)を確実に覚える
  • 剰余(%)は偶数・奇数の判定などに便利
  • 優先順位に迷ったらカッコ( )を使う
  • 0.1 + 0.2 のような小数計算には誤差があることを知っておく
  • データ型(数値か文字列か)を常に意識する

算術演算子は、プログラミングにおける「思考の道具」です。これらを組み合わせることで、ゲームのスコア計算から、ネットショップの決済システムまで、あらゆる機能が作れるようになります。

まずはコンソールを使って、身近な計算をJavaScriptにやらせることから始めてみてください!

タイトルとURLをコピーしました