깊은복사 [JS] 얕은복사와 깊은복사(feat.리액트에서 깊은복사를...?) 객체가 담겨있는 변수를 다른 변수에 할당하면 데이터 복사가 아닌 참조가 일어나게 되어, 한 변수의 데이터를 변경하면 다른 변수의 데이터도 함께 변경이 된다. 동일한 데이터를 바라보고 있는 것이 아닌, 똑같은 구조의 객체를 하나 더 생성하여 따로 사용하고자 할 때, 깊은 복사를 한다. 각 변수가 참조하는 데이터영역의 주소가 달라지기 때문에 a, b는 서로 다른 데이터가 된다. 하지만, 참조형 ... 깊은복사Immer얕은복사불변성리액트spread operatorState리렌더링Immer JS에서 객체와 배열 복사하기_깊은 복사 그러나, 위와 같이 메소드를 활용한 복사에는 중첩 객체(Nested Object)에서 문제점이 발생한다. ex) 중첩 객체 : 객체 안에 객체, 객체 안에 배열 메소드(assign)을 활용하여 객체를 복사할 경우에는 얕은 복사가 되므로, 중첩된 부분인 깊은 곳까지는 복사가 되지 않는 것이다. 따라서, 객체 obj 와 객체 copy 는 다른 곳을 참조하고 있기 때문에 obj===copy 는 f... 배열불변성객체깊은복사객체
[JS] 얕은복사와 깊은복사(feat.리액트에서 깊은복사를...?) 객체가 담겨있는 변수를 다른 변수에 할당하면 데이터 복사가 아닌 참조가 일어나게 되어, 한 변수의 데이터를 변경하면 다른 변수의 데이터도 함께 변경이 된다. 동일한 데이터를 바라보고 있는 것이 아닌, 똑같은 구조의 객체를 하나 더 생성하여 따로 사용하고자 할 때, 깊은 복사를 한다. 각 변수가 참조하는 데이터영역의 주소가 달라지기 때문에 a, b는 서로 다른 데이터가 된다. 하지만, 참조형 ... 깊은복사Immer얕은복사불변성리액트spread operatorState리렌더링Immer JS에서 객체와 배열 복사하기_깊은 복사 그러나, 위와 같이 메소드를 활용한 복사에는 중첩 객체(Nested Object)에서 문제점이 발생한다. ex) 중첩 객체 : 객체 안에 객체, 객체 안에 배열 메소드(assign)을 활용하여 객체를 복사할 경우에는 얕은 복사가 되므로, 중첩된 부분인 깊은 곳까지는 복사가 되지 않는 것이다. 따라서, 객체 obj 와 객체 copy 는 다른 곳을 참조하고 있기 때문에 obj===copy 는 f... 배열불변성객체깊은복사객체