본문 바로가기
카테고리 없음

[프론트엔드 기술면접] 순수함수란? 불변성과 사이드 이펙트와 연결

by 지 요니 2023. 7. 28.

순수함수란 무엇인가요? 불변성과 사이드 이펙트와 연결하여설명해주세요.

순수함수동일한 입력값이 주어지면 항상 동일한 출력값을 반환하는 함수로, 외부상태에 의존하지도, 변경시키지도 않는, 즉 사이드 이펙트가 없는 함수를 의미합니다. 순수함수는 입력값만을 가지고 처리하기 때문에 입력값이 변경되지 않는 한 항상 같은 결과를 반환하므로 불변성을 유지합니다.

자바스크립트에서 순수함수를 제작하기 위해서는 데이터의 불변성을 유지하는 것이 중요한데, 함수의 전달인자로 참조 자료형이 전달되는 경우 객체 자체를 바꾸는 사이드이펙트가 생길 수 있고, 이는 해당 데이터의 불변성을 손상시키게 됩니다. 따라서 배열의 불변성을 보존하는 map, filter, reduce 등의 메소드를 많이 사용합니다.

댓글