La documentación de precedencia de operadores dice que el operador de incremento de postfijo tiene una precedencia más alta que el operador de asignación, pero el siguiente ejemplo muestra que ocurre lo contrario:
var i = 1; var j = i++; console.log(j); // will output 1 (I expected the output to be 2) ¿Por qué la salida es 1 en lugar de 2 ?
El operador de incremento posterior incrementa el valor de la variable, pero devuelve el valor antes de que se incrementara. Por lo tanto, j tendrá un valor de 1 mientras que i tendrá un valor de 2 .
var i = 1; var j = i++; console.log("j =", j); console.log("i =", i);Ver operador de incremento :
Si se usa postfijo, con operador después del operando (por ejemplo, x++), el operador de incremento incrementa y devuelve el valor antes de incrementar.
Si se usa como prefijo, con el operador antes del operando (por ejemplo, ++x), el operador de incremento incrementa y devuelve el valor después del incremento.