불변성 : 메모리에서 원래 값을 변경하지 않음( 원시타입만 해당됨 )
⇒ 변수 값 변경 시 기존 값을 덮어씌우는 것이 아니라 새로운 메모리 공간에 하고,
참조값을 변경해줌
주의
1. 리액트는 얕은 비교 사용
2. 참조 타입인 객체
, 배열
값이 변경될 때 참조값은 그대로(불변성이 지켜지지 않음)
3. 고로 의도적으로 참조값을 변경시켜 줘야함
의도적으로 새로운 배열을 반환하는 메서드 사용:
spread operator, map, filter, slice, reduce 등
기존 값을 변경하는 메서드 사용 X:
shift, splice, push 등