剰余 (%)

剰余演算子 (%) は、1 つ目のオペランドが 2 つ目のオペランドで除算されたときに残った剰余を返します。これは常に被除数の符号を取ります。

試してみましょう

なお、多くの言語では ‘%’ はリマインダー演算子ですが、言語によっては (例えば Python や Perl では) モジュロ演算子になります。正の数同士の場合は、この 2 つの値は等価ですが、被除数と除数が異なる符号の場合は結果が異なります。 JavaScript でモジュロを得るには、 a % n の代わりに ((a % n ) + n ) % n を使用してください。

構文

x % y

正の値の剰余

 12 % 5  //  2
 1 % -2 //  1
 1 % 2  //  1
 2 % 3  //  2
5.5 % 2 // 1.5

負の値の剰余

-12 % 5 // -2
-1 % 2  // -1
-4 % 2  // -0

NaN の剰余

NaN % 2 // NaN

無限大の剰余

Infinity % 2 // NaN
Infinity % 0 // NaN
Infinity % Infinity // NaN

仕様書

Specification
ECMAScript Language Specification
# sec-multiplicative-operators

ブラウザーの互換性

BCD tables only load in the browser

関連情報