Reste (%)

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

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 Language Specification
# sec-multiplicative-operators

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi