순수함수란 무엇인가요? 불변성과 사이드 이펙트와 연결하여 설명해주세요.
2023. 1. 17. 23:58ㆍ개발자 블로깅/Question
순수함수란 입력한 값에 대해 항상 같은 결과를 리턴하는 함수입니다. 그렇기에 결과를 예측할 수 있습니다.
순수함수는 결과 값이 변하지 않는 점에서 불변성이고 외부의 값으로 수정되지 않기에 side-effect 이 없습니다.
추가 질문
Side effect 이란?
함수 외부의 값이나 상태를 변경하는 것, 변화를 예측할 수 없어 예기치 못한 오류를 발생시킬 수 있다.
- side effect 을 가지는 함수는 입력 값에 대해 같은 결과를 반환하지 않습니다.
예 ) 전역 변수 수정, 데이터베이스 접근은 side effect이 있다.
- 리액트에서는 단방향 데이터 흐름을 유지하기 위해 리액트 컴포넌트의 props를 직접 변경하지 않는 방법으로
순수 함수를 지향하고 있습니다.
'개발자 블로깅 > Question' 카테고리의 다른 글
| 왜 비동기적 프로그래밍이 필요한가? (0) | 2023.02.03 |
|---|---|
| innerHTML VS innerText VS textContent 차이점 (0) | 2023.01.31 |
| HTTP 메시지 구조에 대해 설명해주세요. (1) | 2023.01.10 |
| 배열, 객체를 const로 선언했는데 요소나 속성을 추가할 수 있는 이유? (2) | 2023.01.09 |
| [형 변환] 문자형, 숫자형, 불린형 (3) | 2022.07.16 |