--- title: 剰余 (%) slug: Web/JavaScript/Reference/Operators/Remainder tags: - JavaScript - Language feature - Operator - Reference translation_of: Web/JavaScript/Reference/Operators/Remainder ---
{{jsSidebar("Operators")}}

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

{{EmbedInteractiveExample("pages/js/expressions-remainder.html")}}

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

構文

演算子: var1 % var2

正の値の剰余

 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

仕様書

仕様書
{{SpecName('ESDraft', '#sec-multiplicative-operators', 'Remainder operator')}}

ブラウザーの互換性

{{Compat("javascript.operators.remainder")}}

関連項目