++ alguna variable frente a alguna variable ++ en JavaScript

Resuelto Derek Adair asked hace 14 años • 7 respuestas

En JavaScript puede utilizar ++el operador antes ( pre-incremento ) o después del nombre de la variable ( post-incremento ). ¿Cuáles son, si las hay, las diferencias entre estas formas de incrementar una variable?

Derek Adair avatar Aug 12 '10 23:08 Derek Adair
Aceptado

Igual que en otros idiomas:

  • ++x(preincremento) significa "incrementar la variable; el valor de la expresión es el valor final"
  • x++(post-incremento) significa "recordar el valor original, luego incrementar la variable; el valor de la expresión es el valor original"

Ahora bien, cuando se usan como declaración independiente, significan lo mismo:

x++;
++x;

La diferencia surge cuando usas el valor de la expresión en otro lugar. Por ejemplo:

x = 0;
y = array[x++]; // This will get array[0]

x = 0;
y = array[++x]; // This will get array[1]
Jon Skeet avatar Aug 12 '2010 16:08 Jon Skeet
  • ++xincrementa el valor, luego lo evalúa y lo almacena.
  • x++evalúa el valor, luego lo incrementa y lo almacena.
var n = 0, m = 0;

alert(n++); /* Shows 0, then stores n = 1 */
alert(++m); /* Shows 1, then stores m = 1 */

Tenga en cuenta que existen ligeros beneficios de rendimiento al usarlo ++xsiempre que sea posible, porque lee la variable, la modifica, luego la evalúa y la almacena. Frente al x++operador donde lees el valor, lo evalúas, lo modificas y luego lo almacenas.

Justin Force avatar Aug 12 '2010 16:08 Justin Force