剰余 (%)

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

試してみましょう

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

構文

js

x % y;

正の値の剰余

js

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

負の値の剰余

js

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

NaN の剰余

js

NaN % 2; // NaN

無限大の剰余

js

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

仕様書

Specification
ECMAScript Language Specification
# sec-multiplicative-operators

ブラウザーの互換性

BCD tables only load in the browser

関連情報