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 |