Hej :)
Jeżeli chcę porównywać referencję obiektów to muszę użyć JSON.stringify. Dlaczego? Nie powinno być tak, że jeżeli porównuję dwie różne referencje o tych samych wartościach to powinno wypisać mi true, a dopiero przy próbie sprawdzenia, czy są identyczne powinno wypisać mi false bo pochodzą z innych lokalizacji?
Co daje tem JSON.stringify? Spłaszcza? Zwraca po prostu czystą wartość (string), dlatego wtedy idzie porównać referencje?
var tablica_1 = ['1', '2', '3'];
var tablica_2 = ['1', '2', '3'];
var referencja_tablicy_1 = tablica_1;
var referencja_tablicy_2 = tablica_2;
console.log('tablica_1', tablica_1); //wypisze ["1", "2", "3"]
console.log('tablica_2', tablica_2); //wypisze ["1", "2", "3"]
console.log('referencja_tablicy_1', referencja_tablicy_1); //wypisze ["1", "2", "3"]
console.log('referencja_tablicy_2', referencja_tablicy_2); //wypisze ["1", "2", "3"]
console.log('czy referencja_tablicy_1 == referencja_tablicy_2?', referencja_tablicy_1 == referencja_tablicy_2); //wypisze false
console.log('czy referencja_tablicy_1 === referencja_tablicy_2?', referencja_tablicy_1 === referencja_tablicy_2); //wypisze false
console.log('czy referencja_tablicy_1 JSON == referencja_tablicy_2 JSON?', JSON.stringify(referencja_tablicy_1) == JSON.stringify(referencja_tablicy_2)); //wypisze true
console.log('czy referencja_tablicy_1 JSON === referencja_tablicy_2 JSON?', JSON.stringify(referencja_tablicy_1) === JSON.stringify(referencja_tablicy_2)); //wypisze true