순수함수란 무엇인가요? 불변성과 사이드 이펙트와 연결하여 설명해주세요.
순수함수란 입력한 값에 대해 항상 같은 결과를 리턴하는 함수입니다. 그렇기에 결과를 예측할 수 있습니다. 순수함수는 결과 값이 변하지 않는 점에서 불변성이고 외부의 값으로 수정되지 않기에 side-effect 이 없습니다. 추가 질문 Side effect 이란? 함수 외부의 값이나 상태를 변경하는 것, 변화를 예측할 수 없어 예기치 못한 오류를 발생시킬 수 있다. - side effect 을 가지는 함수는 입력 값에 대해 같은 결과를 반환하지 않습니다. 예 ) 전역 변수 수정, 데이터베이스 접근은 side effect이 있다. - 리액트에서는 단방향 데이터 흐름을 유지하기 위해 리액트 컴포넌트의 props를 직접 변경하지 않는 방법으로 순수 함수를 지향하고 있습니다.
2023.01.17