TypeScript `readonly` 배열과 튜플: 불변성이 도움이 되는 때와 오히려 발목을 잡는 때
TypeScript `readonly` Arrays and Tuples: When Immutability Saves You and When It Fights You
TL;DR AI
1분핵심 요약
TypeScript의 readonly 배열과 튜플은 재할당과 배열 메서드 수준의 변형은 막지만, 중첩된 객체까지 불변으로 만들지는 않습니다.
기사에서는 readonly T[]와 ReadonlyArray<T>의 차이, 그리고 함수 호출 중 타입 widening으로 readonly가 사라질 수 있는 점을 다룹니다.
즉, readonly를 잘못 쓰면 안전해 보이지만 실제로는 내부 데이터가 바뀌는 착시가 생길 수 있습니다.
깊은 불변성이 필요할 때만 as const나 DeepReadonly 같은 패턴을 선택하는 것이 좋습니다.
