Tengo una pregunta. Estoy haciendo un pequeño ejercicio. Estoy empezando. Cuando ejecuto el siguiente código, nextAge aparece en currentAge y busco que currentAge y nextAge aparezcan donde indiqué en document.write . Te agradecería si pudieras corregirme.
let yourName = prompt('What is your name?'); let currentAge = prompt('How old are you?'); let nextAge if(currentAge){ nextAge = currentAge++; document.write(`Hi ${yourName}, You are ${currentAge} years old and next year you will be ${nextAge} years old`); };TLDR: quieres nextAge = currentAge + 1
Para comprender esto, debe comprender cómo funciona ++ . Cuando usa ++ , simplemente le está diciendo a la variable con ++ que aumente en uno. En segundo lugar, importa la posición de ++ con respecto a la variable. Si tiene ++ a la cabeza de la variable, está diciendo que aumente la variable VARIABLE_NAME en uno PRIMERO y LUEGO realice cualquier otra operación en esta línea. Si tiene ++ después de la variable, está diciendo que haga cualquier otra operación en esta línea PRIMERO y LUEGO aumente el número en uno.
Así que en tu ejemplo
nextAge = currentAge++;en realidad se traduce a
nextAge = currentAge; currentAge = currentAge + 1; Con ++ liderando esto
nextAge = ++currentAge;se convierte en
currentAge = curentAge + 1; nextAge = currentAge;El ++ significa aumentar el valor en la variable en 1. Entonces, lo que está haciendo es aumentar el valor de currentAge y luego devolver ese valor a nextAge .
Lo que necesita es tomar el valor de currentAge y agregarle 1 sin cambiar currentAge :
nextAge = currentAge + 1;