Reste (%)

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

L'opérateur du reste (%) renvoie le reste de la division de l'opérande gauche par l'opérande droit. Le résultat a toujours le signe du numérateur.

Exemple interactif

console.log(13 % 5);
// Expected output: 3

console.log(-13 % 5);
// Expected output: -3

console.log(4 % 2);
// Expected output: 0

console.log(-4 % 2);
// Expected output: -0

Bien que dans la plupart des langages, % est un opérateur de reste, pour d'autres (par exemple Python, Perl) c'est un opérateur de modulo. Lorsqu'on utilise des valeurs positives, les deux opérateurs sont équivalents mais lorsque le numérateur et de dénominateur ont des signes différents, le reste et le modulo fourniront des signes différents. Pour obtenir une opération équivalente au modulo en JavaScript, on pourra utiliser ((a % n ) + n ) % n.

Syntaxe

js
Opérateur: var1 % var2;

Exemples

Reste avec numérateur positif

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

Reste avec numérateur négatif

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

Reste avec NaN

js
NaN % 2; // NaN

Reste avec l'infini

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

Spécifications

Specification
ECMAScript® 2025 Language Specification
# sec-multiplicative-operators

Compatibilité des navigateurs

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
Remainder (%)

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Voir aussi