Resto (%)

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.

El operador resto (%) devuelve el resto de la división entre dos operandos. Siempre toma el signo del dividendo.

Pruébalo

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 

Tener en cuenta que en la mayoría de los lenguajes de programación, el operador de resto es '%', pero en otros (como Python, Perl) es el operador módulo. Ambos son iguales para valores positivos, pero cuando el divisor y el dividendo son de signos distintos, se obtienen distintos resultados. Para obtener el módulo en JavaScript, en lugar de a % n, usa ((a % n ) + n ) % n.

Sintaxis

Operador: var1 % var2 

Ejemplos

Resto con dividendo positivo

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

Resto con dividendo negativo

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

Resto con NaN

js
NaN % 2; // NaN 

Resto con Infinity

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

Especificaciones

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

Compatibilidad con navegadores

Ver también