Ejercicio – Diferencia entre ++x y x++ en Javascript

4
(2)

Publicado

Aviso importante web en obras

Es posible que el contenido que estás visualizando tenga un formato un poco raro o que se haya perdido algún contenido. Esto se debe a que en 2023/09 decidí renovar la página y con más de 1000 escritos el trabajo de irlos revisando uno por uno es agotador. Poco a poco iré corrigiendo todos los contenidos. ¡Gracias por la comprensión!

Diferencia entre ++X y X++ en JS

En este ejercicio vamos a ver la diferencia entre escribir ++x y x++.

Recordar que si  por ejemplo x=3 y escribimos

  • a = x++ + 1;   A la salida a valdrá 4 y x valdrá 4.
  • a = ++x + 1;   A la salida a valdrá 5 y x valdrá 4.

Así pues la diferencia está en si x se incrementa en 1 antes o después de la operación aritmética.

Vamos a repasarlo mediante un ejercicio.

Enunciado

Sin la ayuda de la consola resuelve mentalmente el valor de cada variable al salir de cada operación.

Considera que cada línea es independiente de todas las anteriores y que inicialmente a = 1 y b = 2;

var a = 1;
var b = 2;
        
op1 = a++ + 1;
op2 = ++a + 1;
op3 = a++ - b++;
op4 = ++a - ++b;
op5 = --a - --b;
op6 = --a - b--;

Solución del ejercicio

var a = 1;
var b = 2;
        
op1 = a++ + 1;  // op1 valdrá 2, a valdrá 2;
op2 = ++a + 1; //op2 valdrá 3,  a valdrá 2;
op3 = a++ - b++; //op3 valdrá -1, a valdrá 2, b valdrá 3
op4 = ++a - ++b; //op4 valdrá -1, a valdrá 2, b valdrá 3
op5 = --a - --b; //op5 valdrá -1, a valdrá 0, b valdrá 1
op6 = --a - b--; //op6 valdrá -2, a valdrá 0, b valdrá 1

En caso de duda utiliza la consola del navegador para observar paso a paso como los variables actualizan sus valores.¡Hola!

Querido lector,

Espero que este ejercicio te haya ayudado a repasar el complejo de ++ y — delante o detrás de la variable.

Si ves que cuesta un poco no te ofusques. Está bien dominarlo pero en Javascript hay muchas otras cosas más importantes.

¡Si te ha gustado este contenido te animo a seguirme en mi perfil de empresa de Linkedin!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *