Копирование объекта JS по значению против копирования по ссылке

Я играл с хромированной консолью и заметил кое-что, чего не мог понять. Я знаю, что в JS переменные копируются по значению, а объекты копируются по ссылке. Приведенный ниже код работает нормально, как и ожидалось, что выводит 2 и доказывает, что объекты JS работают как ссылки

var objA = {a: 1};
var objB = objA;
objA.a = 2; 
objB.a; // 2

Однако этот код не работает должным образом. Я ожидал, что objB.a для вывода2 но это дает1 вместо. Почему?

var objA = {a: 1};
var objB = objA;
objA = {a: 2};  //Assigned whole object here instead property.
objB.a; //1 - Shouldn't this be 2 ??

Ответы на вопрос(5)

Ваш ответ на вопрос