Estoy aprendiendo Javascript, según mi conocimiento de que el tipo de referencia como el objeto a continuación se crea en el montón y apunta a una nueva pieza de memoria en la pila. Pero, ¿qué sucedió cuando intenté declarar un objeto como este?
let object = { id: 1223, title: 'test' };
y cuando lo reasigné:
object = { newId: object.id, newTitle: object.title };
Obtuve:
object = { newId: 1223, newTitle: 'test' };
Tengo tanta curiosidad por saber por qué esto es posible. ¿Ha desaparecido el nombre de la propiedad cuando reasigné el objeto? y ¿Cómo funciona detrás de la pantalla?
Por favor, dame algunas explicaciones, palabras clave o documentos.
Muchas gracias.
PD. Algo que olvidé es que la asociatividad del operador =
sucedió de derecha a izquierda, por lo que el objeto en este punto no fue mutado hasta que la ejecución cumplió con =
. Tal vez sea la respuesta a mi pregunta de alguna manera.