불변성 [ReactJS] Immutability 불변성: 값이나 상태를 변경할 수 없는 값을 의미 필요한 값을 변형해서 사용하고 싶다면 어떤 값의 사본을 만들어서 사용해야 한다. 리액트는 얕은 비교를 통해 새로운 값인지 아닌지를 판단한 후 새로운 값인 경우 리렌더링을 한다. 얕은 비교란 객체, 배열, 함수와 같은 참조 타입들을 실제 내부 값까지 비교하지 않고 동일 참조(동일한 메모리 값을 사용하는지)를 비교한다. 다음 시나리오를 보면서 왜... JavaScript불변성ImmerreactjsImmer [JS] 얕은복사와 깊은복사(feat.리액트에서 깊은복사를...?) 객체가 담겨있는 변수를 다른 변수에 할당하면 데이터 복사가 아닌 참조가 일어나게 되어, 한 변수의 데이터를 변경하면 다른 변수의 데이터도 함께 변경이 된다. 동일한 데이터를 바라보고 있는 것이 아닌, 똑같은 구조의 객체를 하나 더 생성하여 따로 사용하고자 할 때, 깊은 복사를 한다. 각 변수가 참조하는 데이터영역의 주소가 달라지기 때문에 a, b는 서로 다른 데이터가 된다. 하지만, 참조형 ... 깊은복사Immer얕은복사불변성리액트spread operatorState리렌더링Immer JS에서 객체와 배열 복사하기_깊은 복사 그러나, 위와 같이 메소드를 활용한 복사에는 중첩 객체(Nested Object)에서 문제점이 발생한다. ex) 중첩 객체 : 객체 안에 객체, 객체 안에 배열 메소드(assign)을 활용하여 객체를 복사할 경우에는 얕은 복사가 되므로, 중첩된 부분인 깊은 곳까지는 복사가 되지 않는 것이다. 따라서, 객체 obj 와 객체 copy 는 다른 곳을 참조하고 있기 때문에 obj===copy 는 f... 배열불변성객체깊은복사객체 java.lang.String 류 의 불변성 을 깊이 이해 하 다 캐 시:문자열 은 가장 광범 위 한 데이터 구 조 를 사용 하고 대량의 문자열 의 생 성 은 자원 을 매우 소모 합 니 다.JVM 에 서 는 자바 문자열 을 저장 하기 위해 일부 공간 을 열 었 습 니 다.그것 이 바로 문자열 상수 풀 입 니 다.문자열 상수 탱크 를 통 해 두 내용 이 같은 문자열 변 수 는 탱크 에서 같은 문자열 대상 을 가리 키 며 관건 적 인 메모리 자원 을 절약 할 ... java.lang.String불변성
[ReactJS] Immutability 불변성: 값이나 상태를 변경할 수 없는 값을 의미 필요한 값을 변형해서 사용하고 싶다면 어떤 값의 사본을 만들어서 사용해야 한다. 리액트는 얕은 비교를 통해 새로운 값인지 아닌지를 판단한 후 새로운 값인 경우 리렌더링을 한다. 얕은 비교란 객체, 배열, 함수와 같은 참조 타입들을 실제 내부 값까지 비교하지 않고 동일 참조(동일한 메모리 값을 사용하는지)를 비교한다. 다음 시나리오를 보면서 왜... JavaScript불변성ImmerreactjsImmer [JS] 얕은복사와 깊은복사(feat.리액트에서 깊은복사를...?) 객체가 담겨있는 변수를 다른 변수에 할당하면 데이터 복사가 아닌 참조가 일어나게 되어, 한 변수의 데이터를 변경하면 다른 변수의 데이터도 함께 변경이 된다. 동일한 데이터를 바라보고 있는 것이 아닌, 똑같은 구조의 객체를 하나 더 생성하여 따로 사용하고자 할 때, 깊은 복사를 한다. 각 변수가 참조하는 데이터영역의 주소가 달라지기 때문에 a, b는 서로 다른 데이터가 된다. 하지만, 참조형 ... 깊은복사Immer얕은복사불변성리액트spread operatorState리렌더링Immer JS에서 객체와 배열 복사하기_깊은 복사 그러나, 위와 같이 메소드를 활용한 복사에는 중첩 객체(Nested Object)에서 문제점이 발생한다. ex) 중첩 객체 : 객체 안에 객체, 객체 안에 배열 메소드(assign)을 활용하여 객체를 복사할 경우에는 얕은 복사가 되므로, 중첩된 부분인 깊은 곳까지는 복사가 되지 않는 것이다. 따라서, 객체 obj 와 객체 copy 는 다른 곳을 참조하고 있기 때문에 obj===copy 는 f... 배열불변성객체깊은복사객체 java.lang.String 류 의 불변성 을 깊이 이해 하 다 캐 시:문자열 은 가장 광범 위 한 데이터 구 조 를 사용 하고 대량의 문자열 의 생 성 은 자원 을 매우 소모 합 니 다.JVM 에 서 는 자바 문자열 을 저장 하기 위해 일부 공간 을 열 었 습 니 다.그것 이 바로 문자열 상수 풀 입 니 다.문자열 상수 탱크 를 통 해 두 내용 이 같은 문자열 변 수 는 탱크 에서 같은 문자열 대상 을 가리 키 며 관건 적 인 메모리 자원 을 절약 할 ... java.lang.String불변성