js Object reference bug All In One



js Object reference bug All In One

js Object reference bug All In One_Object

arr1 = [1,2,3];
(3) [1, 2, 3]

arr2 = arr1;
(3) [1, 2, 3]

arr2.push(4);
4

arr1;
(4) [1, 2, 3, 4]
arr2;
(4) [1, 2, 3, 4]
arr1 = [1,2,3];
(3) [1, 2, 3]

// 解构赋值
arr2 = [...arr1];
(4) [1, 2, 3]

arr2.push(4);
4

arr1;
(4) [1, 2, 3]
arr2;
(4) [1, 2, 3, 4]


deep clone & deep copy