JSFiddle - React, Tailwind, and code Playground

by kontrach

JavaScript

var foo = [1,2,3];
var bar = ['a','b','c'];
var foo2 = foo; // записать в foo2 ссылку на массив, содержащийся в foo
var bar2 = bar; // записать в bar2 ссылку на массив, содержащийся в bar
foo = []; //создать массив и записать ссылку на него в foo;
//при этом в foo2 остается ссылка на массив, который был в foo. Garbage collector не удаляет объекты, на которые есть хоть одна ссылка. Поэтому foo2 содержит ссылку на массив [1,2,3]
bar.length = 0; // удаляем элементы из массива, на который ссылаются bar и bar2. Поэтому, они оба пустые.
console.log(foo, bar, foo2, bar2); // [],[],[1,2,3],[]