Geralmente, isso é algo com que ninguém se preocupa, não até que você esteja lidando com algo importante. Não tenho certeza do que é “importante”, mas quando você está lidando com talvez, algo como:
var a = { name: 'Pogi', age: 69 };
Você quer que ‘a’ seja o mesmo que ‘b’
var b = a;
Então você quer que ‘b’ tenha uma idade diferente, digamos. 23? b.age = 23;
O que você espera? // Both produces 23 console.log(a); console.log(b);
O mesmo vale para arrays
“ `
var a = [1, 2, 3];
var b = a;
b [0] = 5;
console.log (a [0]); a [0]
produces
5“`.
Mas por que? Porque, teoricamente, quando você atribui um objeto ou array a uma variável, você está ligando os dois por referência .
Para ser honesto, nunca fiz uma pesquisa sobre isso; Peço desculpas por qualquer equívoco ou erros que possa incluir aqui. O exemplo é algo impraticável, mas seja deliberado!
Se você precisar fazer um link profundo de ambos (atribuindo o valor de a
a b
sem vincular os dois por referência), existem algoritmos e conceitos disponíveis em torno do banco de dados da Internet. AngularJS ‘ angular.copy é algo a se considerar.