Comprendere la variabile immutabile di Javascript

Sto cercando di capire cosa significhi una variabile immutabile Javascript. Se posso fare:

var x = "astring"; x = "str"; console.log(x); //logs str` , then why it is immutable? 

L’unica risposta che riesco a pensare (dal poco che so di CI) è che var x è un puntatore a un blocco di memoria con il valore “astring”, e dopo la seconda istruzione punta a un altro blocco con il valore “str”. È questo il caso?

E una domanda bonus: ero confuso dai tipi di valore di Javascript. Tutte le variabili sono oggetti sotto il cofano? Numero pari e archi?