순수 함수는 입력을 믿고, 불변성은 원본을 지킨다
같은 입력은 같은 출력을 만들고, 기존 값을 바꾸지 않는다는 두 원칙이 예측 가능한 TypeScript 코드를 만든다.
Readonly input외부 상태와 원본 배열을 직접 수정하지 않는다.
Pure transform계산은 오직 인자에 의존하고 부수 효과를 만들지 않는다.
New valuespread, map, filter로 새로운 값을 반환한다.
위험 신호: 전역 변수 변경, 콘솔/네트워크 요청, 인자 배열 직접 변경은 순수성을 깨뜨린다.
타입 보조: readonly와 ReadonlyArray는 실수로 원본을 바꾸는 코드를 조기에 막아준다.