Этот бит кода я понимаю. Мы делаем копию A и называем ее C. Когда A изменен, C остается тем же самым
var A = 1;
var C = A;
console.log(C); // 1
A++;
console.log(C); // 1
Но когда A - массив, мы имеем различную sitiuation. Не только C изменится, но и изменится, прежде чем мы даже коснемся A
var A = [2, 1];
var C = A;
console.log(C); // [1, 2]
A.sort();
console.log(C); // [1, 2]
Может кто-нибудь объяснить, что произошло во втором примере?