So, I understand that arrays in JavaScript are mutable.

Meaning that if I create array `a`, and array `b = a`, then if I modify array `a`, the modification is also visible in array `b`.

However, in the following scenario I don't understand why `b` loses the "reference" to array `a`. 

```js
var a = [1,2,3];
var b = a;

console.log('a =', a);
console.log('b =', b);

a[0] = 4;
console.log('a =', a);
console.log('b =', b);

a = [5,5];
console.log('a =', a);
console.log('b =', b);
```