JavaScriptのパーセント(%)の意味は?

JavaScriptにおけるパーセント記号(%)の意味とは?

JavaScriptにおいて、パーセント記号(%)は、「剰余演算子」を表します。剰余演算子は、2つの数値の割り算を行った際の「余り」を求める演算子です。この記事では、JavaScriptにおける剰余演算子の使い方、注意点、具体的な活用例について詳しく解説していきます。

剰余演算子の基本

剰余演算子は、以下のように記述します。


a % b

ここで、

  • a:被除数 (割られる数)
  • b:除数 (割る数)

演算の結果、abで割った余りが返されます。例えば、10 % 31 を返します (10 ÷ 3 = 3 余り 1)。

剰余演算子の注意点

剰余演算子を使用する際の注意点として、以下の点が挙げられます。

  • 被除数と除数のどちらかが浮動小数点数の場合、結果は浮動小数点数になります。
  • 除数が0の場合、エラーが発生します。

剰余演算子の活用例

剰余演算子は、以下のような場面で活用されます。

1. 偶数・奇数の判定

数値を2で割った余りが0であれば偶数、1であれば奇数となります。これを利用して、以下のように偶数・奇数の判定を行うことができます。


const num = 7;

if (num % 2 === 0) {
  console.log(num + "は偶数です");
} else {
  console.log(num + "は奇数です");
}

2. 周期的な処理

剰余演算子を使うことで、一定の間隔で処理を繰り返すことができます。例えば、以下のように配列の要素を順番に表示する処理において、剰余演算子を使うことで要素番号を0から繰り返すことができます。


const fruits = ["apple", "banana", "orange"];

for (let i = 0; i < 10; i++) {
  const index = i % fruits.length;
  console.log(fruits[index]);
}

3. 単位変換

時間や角度の単位変換など、一定の周期を持つ値の変換に利用できます。例えば、秒数を分と秒に変換する場合、以下のように剰余演算子を利用します。


const totalSeconds = 135;

const minutes = Math.floor(totalSeconds / 60);
const seconds = totalSeconds % 60;

console.log(minutes + "分" + seconds + "秒");

剰余演算子の活用例一覧

その他にも、剰余演算子は様々な場面で活用されています。以下に、具体的な活用例をまとめた表を示します。

用途 コード例 説明
曜日計算 (dayIndex + offset) % 7 基準となる曜日(dayIndex)からoffset日後の曜日を求める
循環リストの実装 (currentIndex + 1) % list.length リストの末尾に達したら先頭に戻る処理
ハッシュテーブルのバケット選択 hash(key) % buckets.length キーのハッシュ値から適切なバケットを選択

まとめ

JavaScriptの剰余演算子 (%) は、数値の余りを求める演算子であり、偶数・奇数の判定、周期的な処理、単位変換など、様々な場面で活用できます。この記事が、剰余演算子の理解に役立てば幸いです。

参考文献

関連QA

Q1: 剰余演算子と除算演算子の違いは何ですか?

A1: 除算演算子 (/) は、2つの数値の商を求めます。一方、剰余演算子 (%) は、2つの数値の割り算の余りを求めます。例えば、10 / 3 は 3.333... を返しますが、10 % 3 は 1 を返します。

Q2: 剰余演算子は負の数にも使えますか?

A2: はい、剰余演算子は負の数にも使えます。被除数の符号が結果の符号になります。例えば、-10 % 3 は -1 を返します。

Q3: 剰余演算子はどのような場面で使われますか?

A3: 剰余演算子は、偶数・奇数の判定、周期的な処理の実装、単位変換など、様々な場面で使われます。例えば、リストの要素を順番に表示する際に、剰余演算子を使うことで要素番号を0から繰り返すことができます。

その他の参考記事:JavaScript の数学