pure function

순수 함수와 불변성은 입력, 계산, 새 값, 검증으로 읽는다

외부 세계를 바꾸지 않고 새 값을 돌려주는 흐름을 분리하면 테스트와 리팩터링이 쉬워진다.

입력결과의 유일한 근거

외부 상태를 몰래 읽지 않는다.

계산부수 효과 없음

로그, 네트워크, 전역 변경을 분리한다.

변경새 사본 반환

원본 배열과 객체를 직접 바꾸지 않는다.

구분의미판단
원본 보존spread/map/concat호출 전후 값을 비교하기 쉽다.
타입 보조readonly변경 실수를 컴파일 단계에서 막는다.
테스트입력과 출력만 검증환경 의존성이 줄어든다.

핵심 순수 함수는 불변 데이터를 전제로 할 때 호출 순서와 실행 환경에 덜 흔들린다.