순수 함수와 불변성은 입력, 계산, 새 값, 검증으로 읽는다
외부 세계를 바꾸지 않고 새 값을 돌려주는 흐름을 분리하면 테스트와 리팩터링이 쉬워진다.
외부 상태를 몰래 읽지 않는다.
로그, 네트워크, 전역 변경을 분리한다.
원본 배열과 객체를 직접 바꾸지 않는다.
| 구분 | 의미 | 판단 |
|---|---|---|
| 원본 보존 | spread/map/concat | 호출 전후 값을 비교하기 쉽다. |
| 타입 보조 | readonly | 변경 실수를 컴파일 단계에서 막는다. |
| 테스트 | 입력과 출력만 검증 | 환경 의존성이 줄어든다. |
핵심 순수 함수는 불변 데이터를 전제로 할 때 호출 순서와 실행 환경에 덜 흔들린다.