순수 함수는 입력만 믿고 불변성은 원본을 지킨다
같은 입력은 같은 출력을 만들고, 변경은 원본을 직접 바꾸지 않은 새 값으로 표현해야 예측 가능한 코드가 된다.
undefined
undefined
undefined
undefined
| 구분 | 의미 | 판단 |
|---|---|---|
| 위험 신호 | 전역 변수 변경, console/network 요청 | 순수성을 깨뜨리는 부수 효과 |
| 타입 보조 | readonly, ReadonlyArray | 원본 변경 실수를 조기에 차단 |
| 불변 업데이트 | 새 객체 반환 | 원본 참조를 보존해 추론을 쉽게 함 |
핵심 순수성과 불변성은 함수 호출 순서와 실행 환경에 덜 흔들리는 TypeScript 코드를 만드는 같은 방향의 원칙이다.