Diferencia entre i++ y ++i en JavaScript

Tahseen Tauseef 12 octubre 2023
  1. Operadores de incremento y decremento en JavaScript
  2. Operador de incremento de sufijo vs prefijo en JavaScript
Diferencia entre i++ y ++i en JavaScript

Este artículo del tutorial explica en detalle los operadores de incremento y decremento.

Operadores de incremento y decremento en JavaScript

Los operadores de incremento y decremento se utilizan para aumentar o disminuir el valor de una variable en 1. Estos operadores de incremento y decremento se pueden escribir de múltiples formas, y cada forma tiene sus propiedades, lo que significa que no son iguales. Por lo general, vemos estos operadores en bucles y estamos muy familiarizados con su uso en bucles.

Las siguientes son las dos formas más comunes de utilizar operadores de incremento y decremento:

  • ++variable (prefijo)
  • variable++ (sufijo)
  • --variable (prefijo)
  • variable-- (sufijo)

Estos dos métodos de operadores de incremento / decremento son iguales en que actualizan el valor de la variable en 1. Sin embargo, tiene sus diferencias si se mira de cerca.

En el siguiente ejemplo, usaremos el método Prefix de usar el operador de incremento y entenderemos su funcionamiento.

var i = 5;
alert(++i);
alert(i);

En el código mencionado anteriormente, el valor inicial de la variable i es 5, y en la siguiente línea, usamos un mensaje de alerta para mostrar el funcionamiento del incremento de prefijo. Ahora la alerta obtendrá el valor de i después del incremento. Entonces, la alerta generará el valor de i como 6. Y la siguiente línea, que tiene una alerta para i, devolverá el mismo valor que la alerta anterior, 6.

Echemos un vistazo al método postfijo de usar operadores de incremento.

var i = 5;
alert(i++);
alert(i);

En este segmento de código, tenemos un operador de incremento de sufijo, que se usa en una alerta. El valor inicial de la variable i es 5 y el operador de incremento lo convertirá en 6.

Sin embargo, si utiliza el operador de incremento de sufijo en una alerta, notará que la alerta tendrá el valor de i como antes, que es 5; no se puede ver ningún incremento aquí.

Pero en la siguiente línea, donde se usa la alerta para obtener el valor de i, tendrá un nuevo valor incrementado en 1. Por lo tanto, el nuevo valor será 6.

Aquí, el método de prefijo incrementa la variable en 1 primero y luego es recuperado por la alerta. Sin embargo, en el sufijo, el valor de la variable i se obtiene antes del incremento, por lo que la primera alerta muestra el mismo valor que antes.

Y una vez que se ejecuta la primera alerta, el valor de la variable i se actualiza y es recuperado por el siguiente mensaje de alerta.

Otra forma de escribir el operador de incremento es

> i = i + 1;

Este método es el mismo que el método de prefijo y se usa si queremos cambiar el número de incrementos. Echemos un vistazo al siguiente ejemplo.

var i = 5;
i = i + 1
alert(i);

En este ejemplo, la variable i se incrementa en 1. Por lo tanto, en el momento en que la alerta intenta obtener el valor de la variable i, la variable enviará el nuevo valor incrementado y la primera alerta tendrá una salida. de valor 6. Este método es el mismo que el método de prefijo, y antes de obtener el valor, tiene lugar la operación de incremento.

Operador de incremento de sufijo vs prefijo en JavaScript

El siguiente es un ejemplo complejo que utiliza diferentes formas de utilizar los operadores de incremento:

var i = 5;
var j = 10;
alert(i++);        // shows 5
alert(j++);        // shows 10
alert(++i);        // shows 7
alert(++j);        // shows 12
alert(i = i + 1);  // shows 8
alert(i);          // shows 8

Hemos utilizado múltiples operadores de incremento en este segmento de código, y cada línea tiene su salida escrita como comentario. El incremento de sufijo se utiliza en la primera y la segunda alerta, por lo que el valor de la variable se incrementa después de que la alerta lo haya obtenido.

De manera similar, las alertas muestran el valor después de incrementar en el tercer y cuarto mensaje de alerta como operador de incremento de prefijo.

En algunos lenguajes, el sufijo y el prefijo no tienen diferencia, pero en JavasScript, tienen el mismo propósito si no le preocupa el resultado inmediato. Sin embargo, si tiene un programa JavaScript que necesita resultados inmediatos, la diferencia entre el sufijo y el prefijo es que:

Postfix (i++): devuelve el valor de la variable i primero y luego incrementa la variable

Prefijo (i--): devuelve el valor de la variable i después de que se realiza el incremento a la variable.

Artículo relacionado - JavaScript Operator