본문으로 건너뛰기
← Wiki

Cannot assign to read only property '0' of object '[object Array]'

트러블 슈팅

1. 문제

chatList.chats.reverse()를 실행하는 곳에서 발생한 에러이다.

Cannot assign to read only property '0' of object '[object Array]'

2. 해결 방법

Array.reverse()는 원본 배열을 변형하는 함수이다. 그런데 chatList.chats는 읽기 전용(동결된) 배열이라 변형하려고 하니 에러가 발생한 것이다.

이는 배열을 spread연산자로 얕게 복사해 그 복사본을 뒤집는 식으로 해결할 수 있다.

[...chatList.chats].reverse()

3. 원인

읽기 전용인 배열을 원본을 바꿔버리는 메서드로 수정하려해서 발생한 에러이다. const는 재할당만 막을 뿐, 배열 내용을 바꾸는 건 막지 못한다.

4. Reference

bookmark