Estoy aprendiendo a codificar y probando algo de programación JavaScript y encontré esto que no entiendo. ¡Por favor ayuda! No entiendo por qué no agregaría el número con '+' pero sí con '+='.
let number = 10; number + 10; //Return 10 number += 10; //Return 20 console.log(number);Hay que hacer una distinción importante entre una expresión y una instrucción . Una expresión se evalúa como un valor, pero no necesariamente tiene un efecto. Una instrucción no necesariamente se evalúa como un valor, pero tiene algún efecto.
En su ejemplo, el number + 10 es una expresión que se evalúa como 20 . Pero no tiene ningún efecto por sí mismo.
Por el contrario, number += 10 es una instrucción que modifica el valor de la variable number .
Tenga en cuenta que number += 10 es esencialmente equivalente a number = number + 10 .
La última línea de tu código, console.log(number) , también es una instrucción: imprime el valor de number .
¿Has probado la instrucción console.log(number + 10) ?
El operador '+=' proviene del lenguaje C y es un atajo para
number = number + 10 entonces en su código todo funciona, pero number + 10 es solo una operación sin asignación;
El number + 10 calculará el valor, pero debe asignar este valor a la variable (para almacenarlo en la variable).
De hecho, debe escribir number = number + 10 .
Acerca de la sintaxis += : solo hace que el código sea más fácil de leer, los dos siguientes hacen exactamente lo mismo:
number = number + 10number += 10Para más información Asignación adicional