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
El código fuente para este ejemplo interactivo se encuentra en un repositorio de GitHub. Si quieres contribuir al proyecto de ejemplos interactivas, por favor clona https://github.com/mdn/interactive-examples y realiza un pull request.
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
12 % 5; // 2
1 % -2; // 1
1 % 2; // 1
2 % 3; // 2
5.5 % 2; // 1.5
Resto con dividendo negativo
-12 % 5 // -2
-1 % 2 // -1
-4 % 2 // -0
Resto con NaN
NaN % 2; // NaN
Resto con Infinity
Infinity % 2; // NaN
Infinity % 0; // NaN
Infinity % Infinity; // NaN
Especificaciones
Specification |
---|
ECMAScript® 2025 Language Specification # sec-multiplicative-operators |
Compatibilidad con navegadores
Report problems with this compatibility data on GitHubdesktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Remainder ( % ) |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support