¿Cómo se representan los arreglos de JavaScript en la memoria física?

Tengo entendido que puedo almacenar datos mixtos en una matriz de JavaScript, así como cambiar cualquier elemento de la matriz a algún otro tipo. ¿De qué manera el intérprete realiza un seguimiento del lugar en el que se encuentra la memoria física en cualquier elemento? Además, ¿cómo se evita la sobrescritura de los datos en el siguiente elemento si cambio un elemento a un tipo de datos más grande?

Supongo que las matrices solo almacenan referencias a objetos reales, y las primitivas se envuelven detrás de la escena cuando se colocan en matrices.

Suponiendo que este sea el caso, si tengo un controlador diferente en la variable primitiva y cambio el valor almacenado en la matriz, ¿se mantiene la sincronicidad?

Sé que probablemente ya respondí mi propia pregunta, pero no lo sé con seguridad y no puedo encontrar ninguna información al respecto.

Respuestas a la pregunta(2)

Su respuesta a la pregunta