[JavaScript] immutable array
객체의 경우 값의 메모리 주소를 참조하기 때문에 객체에 특정한 값을 추가하거나 삭제 할 경우 원본 데이터가 변경되는 일이 발생한다.
객체를 변경하지 않고 원본 상태를 유지하면서 기존의 데이터를 그대로 갖고있으면서 새로운 값을 추가한 새로운 객체를 생성할 수 있다.
list 배열 객체 원본 데이터는 변경하지 않으면서 mango를 추가한 새로은 list2 배열을 만들었다.
list 배열과 list2 배열을 비교연산자로 비교해보면 false값을 반환한다.
즉, 기존의 list 배열을 참조하지않고 복제한것이다.
concat 메서드를 이용해서도 가능하고 Array.from() aptjemfheh immutable array를 생성할 수 있다.
객체의 경우 Object.assign()을 사용하여 불변 객체를 생성할 수 있다.
이외에도 전개연산자를 사용하거나 immer 라는 라이브러리를 사용하여 불변 객체를 생성할 수 있다.
리액트를 공부하면서 불변성에 대해서 공부해 보았다.
댓글
댓글 쓰기